Spec-Zone.ru › ESLint

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

Подробности правила

Это правило запрещает унарные операторы ++ и --.

Примеры неправильного кода для этого правила:

Открыть в Playground
/*eslint no-plusplus: "error"*/

let foo = 0;
foo++;

let bar = 42;
bar--;

for (let i = 0; i < l; i++) {
    doSomething(i);
}

Примеры правильного кода для этого правила:

Открыть в Playground
/*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 }:

Открыть в Playground
/*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 }:

Открыть в Playground
/*eslint no-plusplus: ["error", { "allowForLoopAfterthoughts": true }]*/

for (let i = 0; i < l; j = i++) {
    doSomething(i, j);
}

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

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

Версия

Это правило появилось в ESLint v0.0.9.

Ресурсы

  • Исходный код правила
  • Исходный код тестов

© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/no-plusplus

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API