版本

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++) {
    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 = i++) {
    doSomething(i, j);
}

for (i = l; i--;) {
    doSomething(i);
}

for (i = 0; i < l;) i++;

版本

此规则在 ESLint v0.0.9 中引入。

资源

更改语言