constはどういう意味?letやvarとの違いは?スコープについても解説【JavaScript】

JavaScriptにおいて、
変数宣言の時に

const

が使われていること、ありますよね。

というか他の言語でも
見たことのある方がいるとも思います。

いったいconstとはなんなのか、
解説していきます。

 

constの意味

変数への再代入が出来なくなる
宣言です。

つまり、初期化するときにしか
値を設定することができません。

使用するときはこんな感じ。

const aaa = "Hello";

いろんな値になれるのが
変数のいいところなので、
一見不便に見えます。

しかし、とても効率のいい
コードが書けるようになるので
現場のプログラマーも多用する
宣言方法です。

 

効率がよくなる?

まず、
変数への再代入が出来なくなる

ということは、
コードを読む側から見ると
「あ、この値、プログラム中は
変わらないんだな」

ということが把握でき、
書いた人の意図が読みやすくなり、
結果コードを理解する速度が上がります。

 

ゲームを作るときなどに

const MAX_HP = 100;

と書くと

「あ、このキャラの最大HPは
ゲーム中、絶対かわらないんだな」

と分かります。

 

さらに、別チームの誰かが
仕様を間違えて、
最大体力強化アイテムを実装してしまい、

MAX_HP = 200;

というコードを書いてしまっても、
エラーになってくれます。

このエラーで
「あ、このキャラ最大体力変わらないんだった」
と気づくこともできます。

 

ゲームの最大HPだけでなく、

・Webページのスライダーの枚数
・スライダーの速度
・テキストボックスの最大文字数

など、様々な場面で
使用することができます。

 

 

letやvarとの違いは?

こんな感じです。

constletvar
再代入×
再宣言××
スコープブロックブロック関数

とにかく、再代入できないのが
最大の特徴なので、
優先的に覚えましょう。

こうしてみると、
なぜ2015年にletやconstが実装されたのか
分かります。

varは再宣言も出来るし、
関数スコープであることが
とても危険ということです。

 

 

まとめ

以上、constについて解説
させていただきました。

constは、使わなくても
プログラム作品自体は作れます。

しかし、チーム開発することが
当たり前の世の中なので、
constを使えるところは使い、
コードを読みやすくしていきましょう。