Skip to content
← Back to rules

eslint/no-obj-calls 정확성

This rule is turned on by default.

작동 방식

일부 전역 객체를 함수로 호출하는 것을 금지합니다.

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

왜 문제가 될까요?

일부 전역 객체는 함수로 호출하도록 의도되지 않았습니다. 이러한 객체를 함수로 호출하면 일반적으로 TypeError가 발생합니다.

예시

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

javascript
let math = Math();
let newMath = new Math();

let json = JSON();
let newJson = new JSON();

let atomics = Atomics();
let newAtomics = new Atomics();

let intl = Intl();
let newIntl = new Intl();

let reflect = Reflect();
let newReflect = new Reflect();

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

javascript
let area = (r) => 2 * Math.PI * r * r;
let object = JSON.parse("{}");
let first = Atomics.load(sharedArray, 0);
let segmenterFrom = Intl.Segmenter("fr", { granularity: "word" });

사용 방법

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

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

참고 자료