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