전역 범위에서 변수와 함수를 선언하면 안 됩니다.

반응형

전역 범위에 선언된 모든 변수나 함수는 암시적으로 전역 개체(브라우저 환경의 창 개체)에 연결됩니다. 이를 명시적으로 만들려면 이 변수나 함수가 창의 속성이어야 합니다. 로컬에서만 사용하려는 경우 const 또는 let 키워드(ECMAScript 2015 이후)를 사용하거나 즉시 호출 함수 표현식(IIFE) 내에서 선언해야 합니다.

모듈을 사용할 때는 이 규칙을 활성화하면 안 됩니다.

나쁜 예:

var myVar = 42;       // Noncompliant
function myFunc() { } // Noncompliant

좋은 예:

window.myVar = 42;
window.myFunc = function() { };

또는

let myVar = 42;
let myFunc = function() { }

또는

// IIFE
(function() {
  var myVar = 42;
  function myFunc() { }
})();
반응형