Skip to content
← Back to rules

eslint/no-new-native-nonconstructor 정확성

This rule is turned on by default.

작동 방식

전역 비생성자 함수(Symbol, BigInt)에 new 연산자를 사용하는 것을 금지합니다.

이 규칙은 TypeScript 코드에서는 비활성화할 수 있습니다. 왜냐하면 TypeScript 컴파일러가 이 검사를 강제하기 때문입니다.

왜 문제가 되는가?

new Symbolnew BigInt 모두 유형 오류를 발생시킵니다. 왜냐하면 이들은 클래스가 아니라 함수이기 때문입니다. 대문자로 시작하는 이름을 보고 클래스라고 착각하기 쉽습니다.

예시

이 규칙에 잘못된 코드 예시:

js
// TypeError 발생
let foo = new Symbol("foo");

// TypeError 발생
let result = new BigInt(9007199254740991);

이 규칙에 올바른 코드 예시:

js
let foo = Symbol("foo");

let result = BigInt(9007199254740991);

사용 방법

구성 파일 또는 명령줄 인터페이스에서 이 규칙을 활성화하려면 다음을 사용하세요:

json
{
  "rules": {
    "no-new-native-nonconstructor": "error"
  }
}
bash
oxlint --deny no-new-native-nonconstructor

참고 자료