by shigemk2

当面は技術的なことしか書かない

++を使って変数に代入する話

TypeScriptをごにょごにょしていたら、当たり前のように++に遭遇したので。TypeScriptでも++や--はJSと同じ挙動になる。

enum_x.js

JavaScriptプログラマと銘打っているだけあって、JSを全く知らない人を軽く門前払いしている感がある内容なのでブログにとどめておく。

インクリメントしてるんだからyは2だと思うじゃん。思わないかもしれないけど思うじゃん。そうではないですよね。

この本見たけどこのことは載っていないんだよね。

こちらには書いてありました。

演算子が変数の前にある場合、値は式が評価される前に変更されます。 演算子が変数の後ろにある場合、値は式が評価された後で変更されます。 つまり、j = ++k; である場合、j の値は k の初期値に 1 を加えたものです。j = k++; である場合は、j は j に割り当てられた後で増加する k の初期値です。

つまり、y = x++は値が式を評価したあとで変更するんですね。以上、初歩でした。

JavaScriptで使う演算子 - JavaScript超初心者によるJavaScript入門講座

インクリメント演算子 (++)、デクリメント演算子 (--) (JavaScript)