代入文
プログラム言語には、変数に値を代入する代入文があります。これは演算子 '=' を使うので、数学の等式と紛らわしいのですが、等式ではありません。単に変数に値を代入する演算子です。
code:operator02.js
let x;
x = 2 + 3 * 4; // 14が xに代入される。
let y = 10 % 3 ; //%は余りの演算子 10 % 3 -> 1
console.log('x= ', x, ' y= ', y); // x= 14 y= 1 とコンソールに表示される。
代入演算子には、*=, /=, %=,+=, -=, もあます。
例えば、 a += 2 は a = a + 2 に等しくなります。
この a = a + 2 がプログラム初心者には混乱を招く表記ですが、これは a に保存されている値を参照して、それに2を加えて、また元の a の変数に代入するということです。このような演算を頻繁に行われます。
例えば、
code:circle01.js
let t = 0;
// draw()を呼び出すたびに、t の値は5増加するので、円はxの正の方向に移動する
function draw(){
circle(t, 100, 50);// 座標(t,100)に直径50の円を描く
t = t + 5; // tに5を加えてtに保存する。 t += 5 と等価です
}
table:増減演算子
++a, --a 前置型増減演算子。aの値を1増やす/1減らす。式の値は増減後の値となる。
a++, a-- 後置型増減演算子。aの値を1増やす/1減らす。式の値は増減する前の値となる。
++a や a++ は、a = a + 1 とほぼ等価です。
--a や a-- は、a = a - 1 とほぼ等価です。
ほぼ等価と書いたのは、厳密には違います。
code:operator03.js
let x = 10;
console.log(' x = ', x++ ); // 10 <- 足し算が行われる前の値がconsole.logに渡っている
console.log(' x = ', x ); // 11 xの中身は確かに1増えている
let y = 10;
console.log(' y = ', ++y ); // 11 <- 足し算が行われた後にconsole.logに値が渡っている
console.log(' y = ', y ); // 11