Skip to content

noNewSymbol (since v1.0.0)

Diagnostic Category: lint/correctness/noNewSymbol

Sources:

Disallow new operators with the Symbol object.

Symbol cannot be instantiated. This results in throwing a TypeError.

var foo = new Symbol('foo');
correctness/noNewSymbol.js:1:11 lint/correctness/noNewSymbol  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

   Symbol cannot be called as a constructor.
  
  > 1 │ var foo = new Symbol('foo');
             ^^^^^^^^^^^^^^^^^
    2 │ 
  
   Unsafe fix: Remove new.
  
    1 │ var·foo·=·new·Symbol('foo');
            ----              
var bar = Symbol('bar');
function baz() {
function Symbol() { }
new Symbol();
}