Skip to main content

noShadowRestrictedNames (since v0.9.0)

This rule is recommended by Rome.

Disallow identifiers from shadowing restricted names.

Examples

Invalid

function NaN() {}
error[js/noShadowRestrictedNames]: Do not shadow the global "NaN" property.
  ┌─ js/noShadowRestrictedNames.js:1:10
  │
1 │ function NaN() {}
  │          ^^^

=  note: Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.

let Set;
error[js/noShadowRestrictedNames]: Do not shadow the global "Set" property.
  ┌─ js/noShadowRestrictedNames.js:1:5
  │
1 │ let Set;
  │     ^^^

=  note: Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.

try {	} catch(Object) {}
error[js/noShadowRestrictedNames]: Do not shadow the global "Object" property.
  ┌─ js/noShadowRestrictedNames.js:1:15
  │
1 │ try {   } catch(Object) {}
  │                 ^^^^^^

=  note: Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.

function Array() {}
error[js/noShadowRestrictedNames]: Do not shadow the global "Array" property.
  ┌─ js/noShadowRestrictedNames.js:1:10
  │
1 │ function Array() {}
  │          ^^^^^

=  note: Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.

function test(JSON) {console.log(JSON)}
error[js/noShadowRestrictedNames]: Do not shadow the global "JSON" property.
  ┌─ js/noShadowRestrictedNames.js:1:15
  │
1 │ function test(JSON) {console.log(JSON)}
  │               ^^^^

=  note: Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.