noUselessUndefinedInitialization (since v1.7.2)
Diagnostic Category: lint/nursery/noUselessUndefinedInitialization
Sources:
- Inspired from:
no-undef-init
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 ExamplesInvalid
Section titled Invalidcode-block.js:1:7 lint/nursery/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;
│ -----------
code-block.js:1:7 lint/nursery/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;
│ -----------
code-block.js:2:8 lint/nursery/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;
│ -----------
code-block.js:1:7 lint/nursery/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 │