no-new-symbol
禁止使用 Symbol
对象的 new
运算符
该规则在 ESLint v9.0.0 中已弃用,并由 no-new-native-nonconstructor 规则取代。
¥This rule was deprecated in ESLint v9.0.0 and replaced by the no-new-native-nonconstructor rule.
Symbol
不打算与 new
运算符一起使用,而是作为函数调用。
¥Symbol
is not intended to be used with the new
operator, but to be called as a function.
var foo = new Symbol("foo");
这会引发 TypeError
异常。
¥This throws a TypeError
exception.
规则详情
¥Rule Details
此规则旨在防止 new
运算符意外调用 Symbol
。
¥This rule is aimed at preventing the accidental calling of Symbol
with the new
operator.
示例
¥Examples
此规则的错误代码示例:
¥Examples of incorrect code for this rule:
/*eslint no-new-symbol: "error"*/
var foo = new Symbol('foo');
此规则的正确代码示例:
¥Examples of correct code for this rule:
/*eslint no-new-symbol: "error"*/
var foo = Symbol('foo');
// Ignores shadowed Symbol.
function bar(Symbol) {
const baz = new Symbol("baz");
}
何时不使用
¥When Not To Use It
此规则不应在 ES3/5 环境中使用。
¥This rule should not be used in ES3/5 environments.
由 TypeScript 处理
使用 TypeScript 时禁用此规则是安全的,因为 TypeScript 的编译器强制执行此检查。
版本
此规则是在 ESLint v2.0.0-beta.1 中引入。