単項演算子「++」を使用するためのテスト状況は次のとおりです。
var j = 0 ;
console.log(j);
j = j++;
console.log(j);
この場合、出力は次のようになります。
0
0
++ 演算子の位置はオペランドの後ろにあるため、その優先順位は割り当ての優先順位よりも低いため、"j" は最初にそれ自体の値 (ie0) を受け取り、その後インクリメントされると予想します。では、なぜ 2 番目のconsole.log(j)
呼び出しでも「0」が表示されるのでしょうか?
明確にするために、解決策は次のとおりであることを知っています。
// 1)
j++;
// 2)
++j;
// 3)
j += 1;
// 4)
j = ++j;
しかし、この特定のシナリオで増分ステップが実行されない理由を知る必要があります。修正方法ではありません!