版本

no-new-symbol

禁用将 new 运算符与 Symbol 对象一起使用

重要

此规则在 ESLint v9.0.0 中被弃用。请将此规则替换为 no-new-native-nonconstructor

了解更多

Symbol 不应与 new 运算符一起使用,而应作为函数调用。

var foo = new Symbol("foo");

这将抛出一个 TypeError 异常。

规则详情

此规则旨在防止意外使用 new 运算符调用 Symbol

示例

此规则的 错误 代码示例

在 Playground 中打开
/*eslint no-new-symbol: "error"*/

var foo = new Symbol('foo');

此规则的 正确 代码示例

在 Playground 中打开
/*eslint no-new-symbol: "error"*/

var foo = Symbol('foo');

// Ignores shadowed Symbol.
function bar(Symbol) {
    const baz = new Symbol("baz");
}

何时不使用

此规则不应在 ES3/5 环境中使用。

由 TypeScript 处理

当使用 TypeScript 时,禁用此规则是安全的,因为 TypeScript 的编译器会强制执行此检查。

版本

此规则在 ESLint v2.0.0-beta.1 中引入。

延伸阅读

资源

更改语言