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

进阶读物

资源

ESLint 中文网
粤ICP备13048890号