eslint/no-new-native-nonconstructor 정확성
작동 방식
전역 비생성자 함수(Symbol, BigInt)에 new 연산자를 사용하는 것을 금지합니다.
이 규칙은 TypeScript 코드에서는 비활성화할 수 있습니다. 왜냐하면 TypeScript 컴파일러가 이 검사를 강제하기 때문입니다.
왜 문제가 되는가?
new Symbol과 new 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