no-plusplus
不允许一元运算符++和--(no-plusplus)
由于一元++
和--
运算符都受自动分号插入的影响,因此空格的差异可能会改变源代码的语义。
var i = 10;
var j = 20;
i ++
j
// i = 11, j = 20
var i = 10;
var j = 20;
i
++
j
// i = 10, j = 21
规则细节
这条规则不允许一元运算符++
和--
。
此规则的错误
代码示例:
/*eslint no-plusplus: "error"*/
var foo = 0;
foo++;
var bar = 42;
bar--;
for (i = 0; i < l; i++) {
return;
}
此规则的正确
代码示例:
/*eslint no-plusplus: "error"*/
var foo = 0;
foo += 1;
var bar = 42;
bar -= 1;
for (i = 0; i < l; i += 1) {
return;
}
选项
此规则有一个对象选项。
"allowForLoopAfterthoughts": true
允许一元运算符++
和循环--
的后缀(最终表达式)for
。
allowForLoopAfterthoughts
此规则的正确
代码示例包含以下{ "allowForLoopAfterthoughts": true }
选项:
/*eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }]*/
for (i = 0; i < l; i++) {
return;
}
for (i = 0; i < l; i--) {
return;
}
版本
该规则在ESLint 0.0.9中引入。