noUselessUndefinedInitialization
Diagnostic Category: lint/complexity/noUselessUndefinedInitialization
Since: v1.7.2
Sources:
- Same as:
no-undef-init
Description
Section titled DescriptionDisallow 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 Invalidvar 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 │
Valid
Section titled Validvar a = 1;class Foo { bar = undefined;}How to configure
Section titled How to configure{ "linter": { "rules": { "complexity": { "noUselessUndefinedInitialization": "error" } } }}