noUselessUndefinedInitialization
Summary
Section titled “Summary”- Rule available since:
v1.7.2 - Diagnostic Category:
lint/complexity/noUselessUndefinedInitialization - This rule is recommended, which means is enabled by default.
- This rule has a safe fix.
- The default severity of this rule is information.
- Sources:
- Same as
no-undef-init
- Same as
How to configure
Section titled “How to configure”{ "linter": { "rules": { "complexity": { "noUselessUndefinedInitialization": "error" } } }}Description
Section titled “Description”Disallow initializing variables to undefined.
A variable that is declared and not initialized to any value automatically gets the value of undefined.
It’s considered a best practice to avoid initializing variables to undefined.
Please note that any inline comments attached to the initialization value or variable will be moved at the end of the variable declaration on auto-fix. Please be also aware that this differs from Eslint’s behaviour.
Examples
Section titled “Examples”Invalid
Section titled “Invalid”var a = undefined;code-block.js:1:7 lint/complexity/noUselessUndefinedInitialization FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━
ℹ It’s not necessary to initialize a to undefined.
> 1 │ var a = undefined;
│ ^^^^^^^^^^^
2 │
ℹ A variable that is declared and not initialized to any value automatically gets the value of undefined.
ℹ Safe fix: Remove undefined initialization.
1 │ var·a·=·undefined;
│ -----------
let b = undefined, c = 1, d = 2;code-block.js:1:7 lint/complexity/noUselessUndefinedInitialization FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━
ℹ It’s not necessary to initialize b to undefined.
> 1 │ let b = undefined, c = 1, d = 2;
│ ^^^^^^^^^^^
2 │
ℹ A variable that is declared and not initialized to any value automatically gets the value of undefined.
ℹ Safe fix: Remove undefined initialization.
1 │ let·b·=·undefined,·c·=·1,·d·=·2;
│ -----------
for (let i = 0; i < 100; i++) { let i = undefined;}code-block.js:2:8 lint/complexity/noUselessUndefinedInitialization FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━
ℹ It’s not necessary to initialize i to undefined.
1 │ for (let i = 0; i < 100; i++) {
> 2 │ let i = undefined;
│ ^^^^^^^^^^^
3 │ }
4 │
ℹ A variable that is declared and not initialized to any value automatically gets the value of undefined.
ℹ Safe fix: Remove undefined initialization.
2 │ → let·i·=·undefined;
│ -----------
let f = /**/undefined/**/ ;code-block.js:1:7 lint/complexity/noUselessUndefinedInitialization FIXABLE ━━━━━━━━━━━━━━━━━━━━━━━
ℹ It’s not necessary to initialize f to undefined.
> 1 │ let f = /**/undefined/**/ ;
│ ^^^^^^^^^^^^^^^
2 │
ℹ A variable that is declared and not initialized to any value automatically gets the value of undefined.
ℹ Safe fix: Remove undefined initialization.
1 │ - let·f·=·/**/undefined/**/·;
1 │ + let·f·;/**//**/
2 2 │
var a = 1;class Foo { bar = undefined;}Related links
Section titled “Related links”Copyright (c) 2023-present Biome Developers and Contributors.