ESLint 규칙 중 no-shadow란?
소개
ESLint는 자바스크립트 코드에서 에러나 버그를 찾고, 코드 스타일을 유지하는 역할을 합니다. 이러한 역할을 수행하기 위해 ESLint는 여러 가지 규칙을 가지고 있는데, 그 중 하나가 no-shadow입니다. 이 규칙은 변수와 함수 이름이 외부 범위와 중복되지 않도록 해주는 역할을 합니다.
no-shadow 규칙
no-shadow 규칙은 변수나 함수 이름이 외부 범위와 중복되는 것을 방지합니다. 이 규칙을 적용하면, 변수나 함수를 선언할 때, 이미 같은 이름이 사용되었다면 ESLint가 경고를 띄웁니다. 이를 통해 같은 이름으로 선언된 변수나 함수가 있을 경우, 혼란을 방지할 수 있습니다.
예를 들어, 다음과 같은 코드가 있다고 가정해 봅시다.
function foo() {
let a = 1;
if (true) {
let a = 2;
console.log(a);
}
console.log(a);
}
위 코드는 no-shadow 규칙을 위반합니다. 왜냐하면 if문 내부에서 선언한 변수 a는 이미 외부 범위에서 선언된 변수 a와 이름이 같기 때문입니다. 이러한 코드는 가독성을 떨어뜨리고, 에러를 발생시킬 가능성이 높습니다.
no-shadow 규칙 적용 방법
no-shadow 규칙을 적용하는 방법은 매우 간단합니다. .eslintrc 파일에서 rules 항목에 no-shadow:true를 추가하면 됩니다. 이렇게 하면 변수와 함수 이름이 외부 범위와 중복될 경우 ESLint가 경고를 띄워주게 됩니다.
결론
ESLint의 no-shadow 규칙은 변수와 함수 이름이 외부 범위와 중복되지 않도록 해주는 역할을 합니다. 이를 통해 코드의 가독성을 높이고, 에러를 방지할 수 있습니다. no-shadow 규칙은 매우 간단하게 적용할 수 있으니, 코드 작성 시에 꼭 적용해 보시기 바랍니다.
댓글