ESLint 규칙 중 no-global-assign 란?
프로그래밍에서 전역 객체는 매우 중요하지만, 잘못된 사용은 치명적인 문제를 일으킬 수 있습니다. 이를 방지하기 위한 ESLint의 no-global-assign 규칙을 살펴보겠습니다.
목차
- no-global-assign란?
- no-global-assign 규칙의 필요성
- no-global-assign 규칙 사용 예제
- ESLint 설정에서 no-global-assign 활성화하기
- 결론
no-global-assign란?
no-global-assign 규칙은 JavaScript에서 전역 객체의 프로퍼티를 직접 수정하는 것을 방지하는 ESLint 규칙입니다. 전역 객체는 모든 스크립트에서 접근 가능하므로, 이를 잘못 수정하면 애플리케이션 전체에 영향을 미칠 수 있습니다. ESLint 문서에 자세한 내용을 확인할 수 있습니다.
no-global-assign 규칙의 필요성
전역 객체의 프로퍼티는 모든 코드에서 참조되기 때문에, 이러한 프로퍼티를 의도적으로 또는 실수로 수정하게 되면 의도하지 않은 부작용이 발생할 수 있습니다. 예를 들어:
// 잘못된 전역 객체의 프로퍼티 할당
Math = {}; // 기본 Math 객체를 덮어씁니다.
위와 같은 코드에서는 자주 사용되는 Math 객체가 빈 객체로 덮어쓰여 예상하지 못한 에러를 유발할 수 있습니다.
no-global-assign 규칙 사용 예제
no-global-assign 규칙은 다음과 같이 코드에서 전역 객체나 전역 프로퍼티를 변경하는 것을 방지해 줍니다.
/* eslint no-global-assign: "error" */
// 잘못된 사례
Number = 5; // ESLint 오류 발생
// 올바른 사례
const value = 5; // 전역 객체에 영향을 미치지 않음
위 코드에서 no-global-assign 규칙은 Number 객체를 임의로 덮어쓰지 못하게 하여 이러한 문제가 발생하지 않도록 합니다.
ESLint 설정에서 no-global-assign 활성화하기
기본적으로 ESLint는 이 규칙을 활성화해 Two. 만약 규칙이 비활성화되어 있다면 다음과 같이 .eslintrc 파일에 추가하여 활성화할 수 있습니다.
{
"rules": {
"no-global-assign": "error"
}
}
이렇게 설정하면 전역 객체에 대한 의도치 않은 프로퍼티 변경을 사전 차단할 수 있습니다.
결론
no-global-assign 규칙은 전역 객체의 안전성을 확보하기 위한 중요한 ESLint 규칙입니다. 이 규칙을 통해 코드의 의도하지 않은 부작용을 줄이고, 전역 객체의 무분별한 수정을 방지합니다. 여러분의 프로젝트에서 이 규칙을 통해 코드의 안전성을 높여 보세요. 다음에 코드를 작성할 때는 전역 객체의 프로퍼티를 변경하지 않도록 주의하고, ESLint의 no-global-assign 규칙을 활용하여 미리 오류를 방지해 보시기 바랍니다.