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