かなり長い間 JavaScript を使用していましたが、最近operator precedenceについて読み始めたばかりですが、答えが見つからないように見える壁に出くわしました。
次の例を検討してください。
x=1; // x === 1
x++; // x === 2
x=1; // x === 1
y=x++; // x === 2, y === 1
++
よりも優先順位が高い場合、=
どうして にy
ならないの2
ですか?
今考えてみましょう:
x=1; // x === 1
y=++x; // x === 2, y === 2
++x
とx++
が同一の結合性を持つ場合、この場合になるのy
はどうしてですか?2
ここに付属の Fiddleがあります。