++
and --
(no-plusplus)Because the unary ++
and --
operators are subject to automatic semicolon insertion, differences in whitespace can change semantics of source code.
var i = 10; var j = 20; i ++ j // i = 11, j = 20
var i = 10; var j = 20; i ++ j // i = 10, j = 21
This rule disallows the unary operators ++
and --
.
Examples of incorrect code for this rule:
/*eslint no-plusplus: "error"*/ var foo = 0; foo++; var bar = 42; bar--; for (i = 0; i < l; i++) { return; }
Examples of correct code for this rule:
/*eslint no-plusplus: "error"*/ var foo = 0; foo += 1; var bar = 42; bar -= 1; for (i = 0; i < l; i += 1) { return; }
This rule has an object option.
"allowForLoopAfterthoughts": true
allows unary operators ++
and --
in the afterthought (final expression) of a for
loop.Examples of correct code for this rule with the { "allowForLoopAfterthoughts": true }
option:
/*eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }]*/ for (i = 0; i < l; i++) { return; } for (i = 0; i < l; i--) { return; }
This rule was introduced in ESLint 0.0.9.
© JS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/rules/no-plusplus