広告スペース(バナー)
🟨JavaScript レッスン
基本文法の基礎8
データ構造とオブジェクト指向8
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 20 / 69

定数(constで読み取り専用の値を作る)

このレッスンでは、JavaScriptのconstを使った定数の作り方を学び、値の書き換えを防いで安全なコードを書けるようになることを目標にします。「JavaScript const let 違い」「JavaScript 定数 書き方」で調べている方向けの内容です。

constで作った変数は、あとから値を変更しようとするとエラーになります。「うっかり書き換えてしまう」バグを防げるので、値を変更する予定がないときはletではなくconstを使うのが基本です。実務のコードでは、迷ったらまずconstを使い、あとから値を変える必要が出てきたときだけletに変える、という進め方が推奨されています。

サンプルコードではMAX_SCOREという定数を宣言し、その値を表示したあとで、あえてMAX_SCORE = 200と再代入を試みてエラーを発生させています。try...catchで受け止めているため、エラーメッセージがどう表示されるかを確認できます。定数名を大文字とアンダースコアで書くMAX_SCOREのようなスタイルは、多くの言語で「変更しない値」を表す慣習として使われています。

初心者がよくつまずくのが、constで宣言したオブジェクトや配列の「中身」は変更できてしまう点です。constが禁止しているのは「変数への再代入」だけで、オブジェクトのプロパティや配列の要素を書き換えることは可能です。この違いを理解していないと、「constなのに中身が変わった」と混乱してしまいます。

実際の開発現場では、意図しない書き換えを防ぐための基本ルールとして、多くのチームで「まずconstを使う」という方針が広く定着しています。コードレビューでも、本当は変更されないはずの値がletで宣言されていると指摘されることがあるほど、実務で重視される基礎習慣です。

オブジェクトや配列をconstで宣言していても、より厳密に中身まで変更不可にしたい場合はObject.freeze()を使います。constObject.freeze()を組み合わせることで、変数の再代入もプロパティの変更も両方防げます。

letで宣言した変数は再代入だけでなく、うっかりループの中で意図せず上書きしてしまうこともあります。こうした事故を防ぐ意味でも「まずconst、必要ならletに変える」という順序で考える習慣が役立ちます。

JavaScript
OUTPUT / 実行結果

💡 console.log() の内容が実行結果に表示されます。

🎯
ここまでできればゴール達成!
消費税率のような、うっかり書き換えたくない値を安全に管理できるようになります。
広告スペース(バナー)
広告スペース(記事内)