1.4 KiB
Always initialize variables during declaration. Set it explicitly to undefined, if required. (undef-init)
Rule Details
It is better to explicitly initialize all variable declarations.
Instead of naked var / let declarations (which are implicitly set to undefined anyway), always explicitly set them to undefined. It makes clear that you explicitly intended to set them to undefined, not just because you forgot to initialize.
Note: Initialization is not allowed in the ForDeclaration part of for-of and for-in statements. Hence, those need not (and can not) be set to undefined.
Ex: for (var i in []){do_something()} is correct.
Examples of incorrect code for this rule:
var a;
let b;
let c, d;
let d, e = 1;
for (var f of {}){var g;}
for (var i in []){var j;}
Examples of correct code for this rule:
var a = undefined;
let b = undefined;
let b1 = b;
let c = undefined, d = undefined;
for (var f of {}){var g = undefined;}
for (var i in []){do_something()}
Options
There are no options.
When Not To Use It
If you feel setting vraiables implicitly to undefined is better than setting them explicitly, then don't use this - use no-undef-init.
More
Ideally this would be a configuration in the in-built eslint rule no-undef-init instead of a separate rule, but wasn't accepted by maintainers. Hence, it's an external plugin.