版本

no-new-symbol

禁止使用 Symbol 对象的 new 运算符

此规则已在 ESLint v9.0.0 中**弃用**,并由 no-new-native-nonconstructor 规则替换。

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

var foo = new Symbol("foo");

这会抛出一个 TypeError 异常。

规则详情

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

示例

此规则的错误代码示例

在游乐场中打开
/*eslint no-new-symbol: "error"*/

var foo = new Symbol('foo');

此规则的正确代码示例

在游乐场中打开
/*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 中引入的。

进一步阅读

资源

更改语言