constはどういう意味?letやvarとの違いは?スコープについても解説【JavaScript】
JavaScriptにおいて、
変数宣言の時に
const
が使われていること、ありますよね。
というか他の言語でも
見たことのある方がいるとも思います。
いったいconstとはなんなのか、
解説していきます。
constの意味
変数への再代入が出来なくなる
宣言です。
つまり、初期化するときにしか
値を設定することができません。
使用するときはこんな感じ。
const aaa = "Hello";
いろんな値になれるのが
変数のいいところなので、
一見不便に見えます。
しかし、とても効率のいい
コードが書けるようになるので
現場のプログラマーも多用する
宣言方法です。
効率がよくなる?
まず、
変数への再代入が出来なくなる
ということは、
コードを読む側から見ると
「あ、この値、プログラム中は
変わらないんだな」
ということが把握でき、
書いた人の意図が読みやすくなり、
結果コードを理解する速度が上がります。
例
ゲームを作るときなどに
const MAX_HP = 100;
と書くと
「あ、このキャラの最大HPは
ゲーム中、絶対かわらないんだな」
と分かります。
さらに、別チームの誰かが
仕様を間違えて、
最大体力強化アイテムを実装してしまい、
MAX_HP = 200;
というコードを書いてしまっても、
エラーになってくれます。
このエラーで
「あ、このキャラ最大体力変わらないんだった」
と気づくこともできます。
ゲームの最大HPだけでなく、
・Webページのスライダーの枚数
・スライダーの速度
・テキストボックスの最大文字数
など、様々な場面で
使用することができます。
letやvarとの違いは?
こんな感じです。
const | let | var | |
再代入 | × | 〇 | 〇 |
再宣言 | × | × | 〇 |
スコープ | ブロック | ブロック | 関数 |
とにかく、再代入できないのが
最大の特徴なので、
優先的に覚えましょう。
こうしてみると、
なぜ2015年にletやconstが実装されたのか
分かります。
varは再宣言も出来るし、
関数スコープであることが
とても危険ということです。
まとめ
以上、constについて解説
させていただきました。
constは、使わなくても
プログラム作品自体は作れます。
しかし、チーム開発することが
当たり前の世の中なので、
constを使えるところは使い、
コードを読みやすくしていきましょう。