deno.com

禁止对全局对象进行函数调用

注意:此规则是 recommended 规则集的一部分。
deno.json 中启用完整集合
{
  "lint": {
    "rules": {
      "tags": ["recommended"]
    }
  }
}
使用 Deno CLI 启用完整集合
deno lint --rules-tags=recommended
此规则可以通过将其添加到 deno.json 中的 includeexclude 数组中,显式地包含或排除在当前标签中的规则之外。
{
  "lint": {
    "rules": {
      "include": ["no-obj-calls"],
      "exclude": ["no-obj-calls"]
    }
  }
}

禁止将内置全局对象作为函数调用。

以下内置对象不应像函数一样调用,即使它们看起来像构造函数

  • Math
  • JSON
  • Reflect
  • Atomics

将这些对象作为函数调用将导致运行时错误。此规则静态地防止了它们的此类错误用法。

无效示例

const math = Math();
const newMath = new Math();

const json = JSON();
const newJSON = new JSON();

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

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

有效示例

const area = (radius: number): number => Math.PI * radius * radius;

const parsed = JSON.parse("{ foo: 42 }");

const x = Reflect.get({ x: 1, y: 2 }, "x");

const first = Atomics.load(foo, 0);

您找到所需内容了吗?

隐私政策