JavaScriptを書く上で避けては通れないのが変数宣言。その中でもよく使われるのがconst
です。
- constってどんな時に使うの?
- letやvarとはどう違うの?
- 初心者にはちょっとわかりづらいですよね。
こんな疑問にお答えし、この記事ではJavaScriptのconstについて、基礎からしっかり解説していきます。
constを使いこなせるようになれば、効率的で安全なコードが書けるようになります。
早速見ていきましょう!
- 現役のフルスタックエンジニアとして活躍中
- 開発チームリーダーとして複数プロジェクトをリード
- 副業プログラミングスクール講師として数百名以上を指導してきた教育のプロ
- プログラミングスクールのカリキュラム執筆経験あり
constって何?「定数」って意味
const
は「constant」の略語で、日本語では「定数、不変」という意味の単語です。
プログラミングの文脈で使う場合、constは「再代入も再宣言もできない変数」を宣言するためのキーワードです。
constの使い方
constを使った変数宣言の基本的な構文は以下の通りです。
const 変数名 = 初期値;
変数名は自由に付けられますが、分かりやすい名前を付けるのがおすすめです。
初期値はconst
宣言時に必ず設定する必要があります。
具体的な記述例を見てみましょう。
const TAX_RATE = 0.1;
console.log(TAX_RATE); // 0.1
このように書くことで、TAX_RATE
という変数に0.1
という値を代入しています。
定数の場合は、「再代入されない」「上書きされない」ことを明示するために、すべて大文字で書くのが一般的です。
constを使うメリット
constを使うメリットは主に2つあります。
- 変数の値が変更されないので、コードの見通しが良くなる
- 意図しない変数の上書きを防げるので、バグを減らせる
変更される可能性のない変数は、できるだけconstを使って宣言するのがベストプラクティスとされています。
letやvarとの違い
JavaScriptには変数宣言のキーワードとして、ほかにlet
とvar
があります。
これらの違いを表にまとめてみました。
const | let | var | |
---|---|---|---|
再宣言 | 不可 | 不可 | 可 |
再代入 | 不可 | 可 | 可 |
スコープ | ブロック | ブロック | 関数 |
constは再宣言も再代入もできない、つまり「絶対に変更されない」ことが保証された変数と言えます。
letは「再代入はできるが再宣言はできない」変数です。
途中で値を変更する可能性がある場合に使います。
一方varは、再宣言も再代入も可能です。
また、varのスコープは関数スコープなので、意図しないところから値を変更されてしまう可能性があるため、最近はあまり使われません。
constを使うべきシーン
どのようなシーンでconstを使うべきでしょうか。
- プログラムの途中で変更されない定数(円周率、税率など)
- 外部から受け取った設定値
- 変更の必要がない変数
こういった用途には、迷わずconstを使いましょう。
constの注意点
constにも注意点があります。
- 必ず初期値を設定する
- オブジェクトや配列の中身は変更可能
- 巻き上げ(ホイスティング)は起きない
オブジェクトや配列は要注意!
特に、オブジェクトや配列をconstで宣言した場合の挙動には気をつけましょう。
const obj = {a: 1, b: 2};
obj.a = 3;
console.log(obj.a); // 3
const arr = [1, 2, 3];
arr[0] = 10;
console.log(arr); // [10, 2, 3]
このように、オブジェクトや配列をconstで宣言しても、その中身は変更可能です。
constで宣言したからといって完全に変更不可能というわけではないので、ミスによる値の変更に注意が必要です。
まとめ
今回は、JavaScriptのconstについて詳しく解説しました。
constは強力な変数宣言方法ですが、letやvarとの違いや注意点もしっかり押さえておく必要があります。
用途に合わせて適切な宣言方法を使い分けることが、バグの少ない安全なコードを書くコツです。
是非この記事を参考に、constを使いこなしてくださいね!
JavaScriptを効率的に身につける勉強法は?
JavaScript には興味があっても、プログラミング学習をはじめたばかりであれば、以下のような疑問を持つかもしれません。
- JavaScript を身に付けてエンジニアになるには何をすればいい?
- 何から勉強すればいいんだろう?
- 効率よく勉強するには?
JavaScriptは学ぶべき内容が非常に多いため、勉強法の選び方を間違うと時間・労力・お金が無駄になってしまいます…。
そのため、こちらの記事を参考に、ご自身に最適な学習方法を選んでみませんか?