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;
;
var bar = 42;
;
for (i = 0; i < l; ) {
doSomething(i);
}
此规则的**正确**代码示例
在游乐场中打开
/*eslint no-plusplus: "error"*/
var foo = 0;
foo += 1;
var bar = 42;
bar -= 1;
for (i = 0; i < l; i += 1) {
doSomething(i);
}
选项
此规则具有一个对象选项。
"allowForLoopAfterthoughts": true
允许在一元运算符++
和--
在for
循环的后置表达式(最终表达式)中使用。
allowForLoopAfterthoughts
使用 { "allowForLoopAfterthoughts": true }
选项时,此规则的**正确**代码示例
在游乐场中打开
/*eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }]*/
for (i = 0; i < l; i++) {
doSomething(i);
}
for (i = l; i >= 0; i--) {
doSomething(i);
}
for (i = 0, j = l; i < l; i++, j--) {
doSomething(i, j);
}
使用 { "allowForLoopAfterthoughts": true }
选项时,此规则的**错误**代码示例
在游乐场中打开
/*eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }]*/
for (i = 0; i < l; j = ) {
doSomething(i, j);
}
for (i = l; ;) {
doSomething(i);
}
for (i = 0; i < l;) ;
版本
此规则在 ESLint v0.0.9 中引入。