noInvalidNewBuiltin
Diagnostic Category: lint/correctness/noInvalidNewBuiltin
Since: v1.3.0
Description
Section titled “Description”Disallow new operators with global non-constructor functions.
Some global functions cannot be called using the new operator and
will throw a TypeError if you attempt to do so. These functions are:
Examples
Section titled “Examples”Invalid
Section titled “Invalid”let foo = new Symbol('foo');code-block.js:1:11 lint/correctness/noInvalidNewBuiltin  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ Symbol cannot be called as a constructor.
  
  > 1 │ let foo = new Symbol(‘foo’);
      │           ^^^^^^^^^^^^^^^^^
    2 │ 
  
  ℹ Calling Symbol with the new operator throws a TypeError.
  
  ℹ Unsafe fix: Remove new.
  
    1 │ let·foo·=·new·Symbol(‘foo’);
      │           ----              
let bar = new BigInt(9007199254740991);code-block.js:1:11 lint/correctness/noInvalidNewBuiltin  FIXABLE  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
  ⚠ BigInt cannot be called as a constructor.
  
  > 1 │ let bar = new BigInt(9007199254740991);
      │           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    2 │ 
  
  ℹ Calling BigInt with the new operator throws a TypeError.
  
  ℹ Unsafe fix: Remove new.
  
    1 │ let·bar·=·new·BigInt(9007199254740991);
      │           ----                         
let foo = Symbol('foo');
function baz(Symbol) {    const qux = new Symbol("baz");}let bar = BigInt(9007199254740991);
function quux(BigInt) {    const corge = new BigInt(9007199254740991);}How to configure
Section titled “How to configure”{  "linter": {    "rules": {      "correctness": {        "noInvalidNewBuiltin": "error"      }    }  }}