Skip to content

noNewSymbol

Diagnostic Category: lint/correctness/noNewSymbol

Since: v1.0.0

Sources:

Disallow new operators with the Symbol object.

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

var foo = new Symbol('foo');
code-block.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();
}