Здесь тестовая ситуация для использования унарного оператора "++":
var j = 0 ;
console.log(j);
j = j++;
console.log(j);
Для этого выход:
0
0
Так как позиция оператора ++ находится в задней части операнда, поэтому его приоритет ниже приоритета назначения, я ожидал бы, что "j" сначала получит значение самого себя (i.e.0), но затем будет увеличено. Итак, почему второй вызов console.log(j)
все еще показывает "0"?
Чтобы быть ясным, я знаю, что решения:
// 1)
j++;
// 2)
++j;
// 3)
j += 1;
// 4)
j = ++j;
Но мне нужно знать, почему шаг приращения не выполняется в этом конкретном сценарии, а не как его исправить!