Операторы «приращения» датируются, по крайней мере, языком программирования C 70-х годов, и основная идея извлечения значения из хранилища до или после увеличения или уменьшения - это нечто из низкоуровневой компьютерной архитектуры.
Для увеличения (сложения 1) и уменьшения (вычитания 1) существует два варианта.Операции с предварительным увеличением и с предварительным уменьшением , где ++
или --
предшествуют переменной, легче понять: значение в переменной изменяется, итогда результатом будет новое значение.
Операции после увеличения и после уменьшения являются странными, потому что полученное вами значение является значением, равным до добавление или вычитание 1. Значение в переменной после этого все еще изменяется как с предварительным увеличением или уменьшением, но значение в контексте является значением до изменения.
Таким образом:
var x = 0;
console.log(++x); // logs 1, pre-increment
console.log(x--); // also logs 1, post-decrement
console.log(x); // logs 0, because of the decrement