プログラミングをする上で絶対的に理解が必要な「変数」と「定数」について解説します。
変数
変数の使い道
変数は一時的にデータを入れておく箱です。
「変わる数」なので処理の途中で中身が変わったりします。
数とは言いましたが、文字データも入れておくことができます。
例えば、変数□に数字の1を入れたとします。
□=1 です。
次にこんな風に命令します。
□=□+1
□はもともと1でしたから、今は □=2 ということになります。
□は使い回し可能なので、どんどん違う数字を入れて変化させることができます。
なんでこんなことをする必要があるかというと、人間がプログラミングで計算処理するうえでプログラムを簡略化させ、人間が間違えないようにするためです。
また、変数の中身を柔軟に変化させて使うのが便利だからです。
アイス屋さんがあったとします。
5個以上まとめて買うと1割引きになります。
定価は1個300円です。アイスの料金を変数にします。
価格=300
もし5個以上購入なら
価格=価格×0.9
そうでなければ何もしない
※「もし」という条件式は別の記事で紹介します
というプログラムがあったら、最終的に「価格」変数に入っていいる数値が、実際に支払う料金になります。
変数はさびしがり
変数は勝手に使うとすねてしまって、動いくれません。
変数を使いたい時は、前もって宣言しておく必要があります。
変数を宣言するにはルールがあります。合言葉ですね。
【構文】
let 変数名 [= 初期値] , ...
例えば price という変数を宣言したい場合は、
let price;
price と campaign という変数を宣言したい場合は、
let price ,campaign;
変数の初期値を入れておきたい場合は、
let price = 300;
の様に宣言しておきます。
変数の宣言には「let」というコマンドを使用します。
ES5までは「ver」を使用していましたが、ES6からは「let」の使用が推奨されています。
JavaScriptに関する以前の記事を見た時、「var」が使われていたら、変数を定義しているのだなと思ってください。
定数
定数の使い道
変数は処理の中でデータが変化していきましたが、定数は途中で中身を変えることができない入れ物です。
中身が変わらないなら、「定数」なんて面倒なもの必要ないじゃないか?
いえいえ、そんなことはありません。例を見ていきましょう。
さきほどのアイス屋さんがフランチャイズ展開しました。
1個の定価は1個300円です。
北海道は寒くあまりアイスが売れなかったので、オーナーは1割引きで売ることにしました。
関東ではそれなりに売れています。定価で売ることにしました。
沖縄では暑いのでアイスは爆売れで、オーナーは調子に乗って3割増しで売ることにしました。
夏は全体的に暑いので、キャンペーンで全国3割引きの大盤振る舞いをすることにしました。
これをそのまま計算すると、
<普通の日>
北海道の販売額=300×0.9
関東の販売額=300
沖縄の販売額=300×1.3
<キャンペーン中>
北海道の販売額=300×0.9×0.7
関東の販売額=300×0.7
沖縄の販売額=300×1.3×0.7
もしアイスの原価が高騰して300円では販売できなくなり、350円に変更したい場合
全部で6か所の数式を変更する必要があります。
店舗が増えれば増えるほど、変更箇所はどんどん増えます。
見落としや変更漏れが発生する可能性が高いです。
ではこの定価を変数にするとどうでしょう。
定価=300
<普通の日>
北海道の販売額=定価×0.9
関東の販売額=定価
沖縄の販売額=定価×1.3
<キャンペーン中>
北海道の販売額=定価×0.9×0.7
関東の販売額=定価×0.7
沖縄の販売額=定価×1.3×0.7
変更するのは「定価=300」の部分だけで済みますね。
キャンペーンの割引率も変数にしておけば、その年によって割り引き率を変えるのも簡単です。
処理の途中でデータが変化することはありませんが、使った方が便利ですよね。
定数もさびしかりや
定数を使うときも、事前に宣言する必要があります。
【構文】
const 定数名 = 値
定数の名前は全てを大文字で、単語はアンダースコア(_)で区切るのが一般的です。
const TEIKA = 300;
変数と定数の命名規則
変数や定数の名前は比較的自由につけることができますが、いくつかルールがあります。
https://jsprimer.net/basic/variables/
- 半角のアルファベット、
_
(アンダースコア)、$
(ダラー)、数字を組み合わせた名前にする- 変数名は数字から開始できない
- 予約語と被る名前は利用できない
予約語とは、JavaScriptで既に使われている単語です。
break,catch,class,do など複数存在します。
予約語使用してしまうと、もともと定義されていた機能が使えなくなってしまうので、注意が必要です。
最後に
変数/定数の考え方はお分かりいただけたでしょうか。
この考え方は、JavaScriptだけでなく、他のプログラミング言語でも使います。
しっかりと理解しておきましょう。
CTFパソコン教室は、千葉県の鎌取、誉田、土気エリアで、パソコンに関する事・Excel,Wordに関する事・Scratchなどを教えています。
お子様の習い事や、趣味でパソコンを使えるようになりたい、スキルアップしたいなど、ご要望承り、お一人お一人に合わせた講座を受講することも可能です。
詳しくは公式LINEからお問い合わせください。
友だち登録頂いた方限定で、割引キャンペーンも随時開催しております。
パソコン教室については、こちらもご覧ください。