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 ('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 中引入的。