no-plusplus
Запрещает унарные операторы ++ и --
Это правило в настоящее время заморожено, и предложения по добавлению новых функций не принимаются.
Поскольку унарные операторы ++ и -- подвержены автоматической вставке точек с запятой, различия в пробельных символах могут изменить семантику исходного кода.
let i = 10;
let j = 20;
i ++
j
// i = 11, j = 20
let i = 10;
let j = 20;
i
++
j
// i = 10, j = 21
Подробности правила
Это правило запрещает унарные операторы ++ и --.
Примеры неправильного кода для этого правила:
/*eslint no-plusplus: "error"*/
let foo = 0;
;
let bar = 42;
;
for (let i = 0; i < l; ) {
doSomething(i);
}
Примеры правильного кода для этого правила:
/*eslint no-plusplus: "error"*/
let foo = 0;
foo += 1;
let bar = 42;
bar -= 1;
for (let i = 0; i < l; i += 1) {
doSomething(i);
}
Параметры
Это правило принимает параметр-объект.
-
"allowForLoopAfterthoughts": trueразрешает унарные операторы++и--в завершающем выражении (последнем выражении) циклаfor.
allowForLoopAfterthoughts
Примеры правильного кода для этого правила с параметром { "allowForLoopAfterthoughts": true }:
/*eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }]*/
for (let i = 0; i < l; i++) {
doSomething(i);
}
for (let i = l; i >= 0; i--) {
doSomething(i);
}
for (let i = 0, j = l; i < l; i++, j--) {
doSomething(i, j);
}
Примеры неправильного кода для этого правила с параметром { "allowForLoopAfterthoughts": true }:
/*eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }]*/
for (let i = 0; i < l; j = ) {
doSomething(i, j);
}
for (let i = l; ;) {
doSomething(i);
}
for (let i = 0; i < l;) ;
Версия
Это правило появилось в ESLint v0.0.9.
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-plusplus