Далее на странице...
Из этой статьи Вы узнаете, что такое инкремент и декремент.
И мы ответим на вопрос, часто задаваемый на собеседовании: чем отличается префиксная форма от постфиксной?
Этот материал является продолжением прошлой статьи, где были рассмотрены основные операторы JavaScript. Таким образом, здесь мы закончим эту тему. Но углубляться в нее мы будем и в дальнейшем. Происходить это будет постепенно.
Инкремент и декремент
Инкремент и декремент служат для упрощения/сокращения кода и соответственно для увеличения и уменьшения значения переменной на единицу.
Инкремент записывается как два знака плюс ++, неразрывно следующих друг за другом, декремент как два знака минус --.
Постфиксная форма записи
В примере ниже продемонстрирована постфиксная форма записи инкремента (увеличение значения переменной на единицу) и декремента (уменьшение значения переменной на единицу).
Пример 2.1
let incr = 10,
decr = 10;
incr++; // Инкремент
decr--; // Декремент
console.log(incr);
console.log(decr);
Результат
11
9
Постфиксная форма записи - означает, что оператор (в примере это инкремент "++" и декремент "--") располагается после переменной.
Префиксная форма записи
Префиксная форма записи - означает, что оператор располагается перед переменной
Пример 2.2
let incr = 10,
decr = 10;
++incr; // Инкремент
--decr; // Декремент
console.log(incr);
console.log(decr);
Результат
11
9
Постфиксная форма возвращает старое значение
У префиксной и постфиксной формы записи есть одна особенность.
В примерах 2.1 и 2.2 мы сначала вычисляли инкремент и декремент, и только потом выводили данные в консоль. Попробуем одновременно с выводом данных вычислить инкремент и декремент. Что мы увидим?
Пример 3.1
let incr = 10,
decr = 10;
console.log(incr++);
console.log(decr--);
Результат
10
10
Постфиксная форма записи сначала возвращает старое значение.
Пример 3.2
let incr = 10,
decr = 10;
console.log(++incr);
console.log(--decr);
Результат
11
9
При использовании префиксной формы записи ситуация иная - все работает как надо.
На этом пока все, так как наглядно сейчас мы не можем использовать операции инкремента и декремента. Но когда начнется работа с циклами, то там тема инкремента и декремента будет рассмотрена глубже.