noShadowRestrictedNames (since v0.9.0)
This rule is recommended by Rome.
Disallow identifiers from shadowing restricted names.
Examples
Invalid
function NaN() {}
suspicious/noShadowRestrictedNames.js:1:10 lint/suspicious/noShadowRestrictedNames ━━━━━━━━━━━━━━━━━
✖ Do not shadow the global "NaN" property.
> 1 │ function NaN() {}
│ ^^^
2 │
ℹ Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.
let Set;
suspicious/noShadowRestrictedNames.js:1:5 lint/suspicious/noShadowRestrictedNames ━━━━━━━━━━━━━━━━━━
✖ Do not shadow the global "Set" property.
> 1 │ let Set;
│ ^^^
2 │
ℹ Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.
try { } catch(Object) {}
suspicious/noShadowRestrictedNames.js:1:15 lint/suspicious/noShadowRestrictedNames ━━━━━━━━━━━━━━━━━
✖ Do not shadow the global "Object" property.
> 1 │ try { } catch(Object) {}
│ ^^^^^^
2 │
ℹ Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.
function Array() {}
suspicious/noShadowRestrictedNames.js:1:10 lint/suspicious/noShadowRestrictedNames ━━━━━━━━━━━━━━━━━
✖ Do not shadow the global "Array" property.
> 1 │ function Array() {}
│ ^^^^^
2 │
ℹ 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)}
suspicious/noShadowRestrictedNames.js:1:15 lint/suspicious/noShadowRestrictedNames ━━━━━━━━━━━━━━━━━
✖ Do not shadow the global "JSON" property.
> 1 │ function test(JSON) {console.log(JSON)}
│ ^^^^
2 │
ℹ Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.