Skip to content
← Back to rules

eslint/init-declarations 스타일

작동 방식

변수 선언 시 초기화를 요구하거나 금지합니다.

왜 좋지 않은가?

자바스크립트에서는 변수를 선언할 때 초기화할 수 있으며, 이후 어떤 시점에서 할당 문을 사용하여 초기화할 수도 있습니다.
예를 들어 다음 코드에서 foo는 선언 시에 초기화되지만, bar는 나중에 초기화됩니다.

js
var foo = 1;
var bar;
if (foo) {
  bar = 1;
} else {
  bar = 2;
}

예시

기본값 "always" 옵션에 해당하는 잘못된 코드 예시:

js
/* init-declarations: ["error", "always"] */
function foo() {
  var bar;
  let baz;
}

"never" 옵션에 해당하는 잘못된 코드 예시:

js
/* init-declarations: ["error", "never"] */
function foo() {
  var bar = 1;
  let baz = 2;
  for (var i = 0; i < 1; i++) {}
}

기본값 "always" 옵션에 해당하는 올바른 코드 예시:

js
/* init-declarations: ["error", "always"] */

function foo() {
  var bar = 1;
  let baz = 2;
  const qux = 3;
}

"never" 옵션에 해당하는 올바른 코드 예시:

js
/* init-declarations: ["error", "never"] */

function foo() {
  var bar;
  let baz;
  const buzz = 1;
}

"never", { "ignoreForLoopInit": true } 옵션에 해당하는 올바른 코드 예시:

js
/* init-declarations: ["error", "never", { "ignoreForLoopInit": true }] */
for (var i = 0; i < 1; i++) {}

구성 방법

첫 번째 옵션

타입: "always" | "never"

"always"

선언 시 변수가 초기화되어야 함을 요구합니다. 이는 기본 동작입니다.

"never"

선언 시 초기화를 금지합니다.

두 번째 옵션

이 옵션은 다음과 같은 속성을 가진 객체입니다:

ignoreForLoopInit

타입: boolean

기본값: false

true로 설정하면 for, for-in, for-of 반복문의 초기 표현식에서 초기화되지 않은 변수를 허용합니다.
모드가 "never"로 설정되었을 때만 적용됩니다.

사용 방법

이 규칙을 활성화하려면 구성 파일이나 명령줄 인터페이스에서 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "init-declarations": "error"
  }
}
bash
oxlint --deny init-declarations

참고 자료