Skip to content
← Back to rules

eslint/no-undefined 제한

작동 방식

undefined를 식별자로 사용하는 것을 금지합니다.

왜 문제인가요?

undefined를 직접 사용하면 버그로 이어질 수 있습니다. 왜냐하면 자바스크립트에서 undefined는 그 자체로 가려질 수 있거나 덮어쓰일 수 있기 때문입니다. 실수로 문제가 발생하는 것을 방지하기 위해 null을 사용하거나 암시적 undefined(예: 반환 값이 누락된 경우)를 활용하는 것이 더 안전하고 의도적인 선택입니다.

예시

이 규칙에 어긋나는 잘못된 코드 예시:

javascript
var foo = undefined;

var undefined = "foo";

if (foo === undefined) {
  // ...
}

function baz(undefined) {
  // ...
}

bar(undefined, "lorem");

이 규칙을 올바르게 준수하는 올바른 코드 예시:

javascript
var foo = void 0;

var Undefined = "foo";

if (typeof foo === "undefined") {
  // ...
}

global.undefined = "foo";

bar(void 0, "lorem");

사용 방법

설정 파일이나 커맨드 라인 인터페이스에서 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "no-undefined": "error"
  }
}
bash
oxlint --deny no-undefined

참고 자료