跳至內容

eslint/no-obj-calls 正確性

此規則預設為開啟。

此規則的功能

禁止將某些全域物件作為函式呼叫

為什麼這樣不好?

某些全域物件不應該作為函式呼叫。將它們作為函式呼叫通常會導致拋出 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" });

參考資料

以 MIT 許可證發布。