LESSON 09 ・ 変数
再代入
値を上書きする
let a = 2;
a = 3;
console.log(a);
変数の値はあとから変更できます。最初にa = 2で2を保存し、次にa = 3で3に上書きしています。そのため、console.log(a)すると3が出力されます。
今の値を使って更新する
let age = 12;
console.log(age);
age = age + 1;
console.log(age);
変数に格納された値を使って計算し、結果を同じ変数に代入することもできます。ageは年齢を表す変数ですが、誕生日が来て年齢を1増やす処理は、age = age + 1というように書けます。
age = age + 1という式は、数学では=が成り立たず不正な式ですが、プログラミング言語では=は代入を表すので、「=の右側の値を、=の左側の変数に代入する」という意味になります。age ← age + 1(age + 1の結果をageに入れる)のように考えると分かりやすいかもしれません。
省略して書く
let age = 12;
console.log(age);
age += 1;
console.log(age);
age = age + 1などのコードはよく書くので、省略形が用意されています。age += 1と書くと、age = age + 1という意味になります。
PRACTICE
演習問題
コードを自分で書いて実行してから、答えと解説を確認しましょう。
問題1
変数aに最初は2を代入し、その後5を再代入してから、aを表示してください。
答えと解説を見る
模範解答
let a = 2;
a = 5;
console.log(a);
後から代入した5で元の値が上書きされるため、5が表示されます。
問題2
変数ageに14を代入し、今の値を使って1増やしてから表示してください。+=を使って書いてみましょう。
答えと解説を見る
模範解答
let age = 14;
age += 1;
console.log(age);
age += 1はage = age + 1と同じ意味です。更新後の15が表示されます。
問題3
在庫数を表す変数stockを20で始めます。商品が8個入荷したので増やし、その後5個売れたので減らして、最後の在庫数を表示してください。
答えと解説を見る
模範解答
let stock = 20;
stock += 8;
stock = stock - 5;
console.log(stock);
今の在庫数を使って、入荷分を足し、販売分を引いています。最後の在庫数は23です。