Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top

Вебинар: Зачем тестировщику нужна безопасность? - 16.04

menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V7021. The postfix increment or decrement has no effect because the variable is overwritten.

03 Апр 2026

Анализатор обнаружил ошибку, связанную с использованием постфиксных инкремента или декремента при записи в эту же переменную.

Рассмотрим пример:

let value = 0;
....
value = value++;  // <=
....

После присваивания переменная value останется равна нулю. Это связано с тем, что постфиксные инкремент и декремент возвращают значение переменной до её изменения. Порядок операций в данном выражении будет следующим:

  • Чтение переменной value;
  • Увеличение значения переменной value на единицу;
  • Присвоение переменной value значения, полученного на шаге 1.

Таким образом, результат выполнения постфиксных инкремента или декремента теряется при перезаписи в ту же переменную.

Это может быть опечатка, и на самом деле нужно было сохранить результат в другую переменную. В таком случае корректный вариант может выглядеть так:

let value = 0;
let savedValue = ....; 
....
savedValue = value++; 
....

Либо же программист написал присваивание по ошибке, и на самом деле оно тут не нужно:

let value = 0;
....
value++;
....