```html
JavaScript: const宣言と初期化
Q1:
Q2:
Q3: なぜ
JavaScript: const宣言と初期化
JavaScriptでは、変数を宣言する際にvar
、let
、const
のいずれかのキーワードを使用します。const
キーワードは、再代入不可の定数を宣言するために使用します。本記事では、const
宣言における初期化の重要性について解説します。
const宣言時の初期化の必要性
const
変数は、宣言時に値を**必ず**割り当てる必要があります。これは、const
が再代入不可であるという性質上、宣言時に値が確定していないと、後から値を設定することができないためです。
// 正しい例: 宣言時に値を代入
const PI = 3.141592;
// エラー例: 宣言時に値を代入していない
const TAX_RATE; // SyntaxError: Missing initializer in const declaration
constで宣言された配列の初期化
配列をconst
で宣言する場合も、宣言時に初期化する必要があります。初期化しない場合、構文エラーが発生します。
// 正しい例: 宣言時に配列を初期化
const COLORS = ['red', 'green', 'blue'];
// エラー例: 初期化していない
const NUMBERS; // SyntaxError: Missing initializer in const declaration
constとオブジェクト
const
でオブジェクトを宣言した場合、オブジェクトの参照先は変更できませんが、オブジェクトのプロパティは変更可能です。
const user = {
name: '太郎',
age: 30
};
// プロパティの値は変更可能
user.age = 31;
console.log(user.age); // 31
// オブジェクトの参照先を変更しようとするとエラー
user = {}; // TypeError: Assignment to constant variable.
まとめ
以下の表は、var
、let
、const
の違いをまとめたものです。
特徴 | var | let | const |
---|---|---|---|
スコープ | 関数スコープ | ブロックスコープ | ブロックスコープ |
再宣言 | 可能 | 不可能 | 不可能 |
再代入 | 可能 | 可能 | 不可能 |
初期化の必要性 | 不要 | 不要 | 必須 |
参考文献
QA
Q1: const
で宣言した変数に後から値を代入することはできますか?
A1: いいえ、できません。const
で宣言した変数は再代入不可です。値を変更する必要がある場合は、let
を使用してください。
Q2: const
で宣言した配列の要素を変更することはできますか?
A2: はい、できます。const
で宣言した配列は、参照先が固定されるため、要素の追加や変更は可能です。ただし、配列自体を別の配列に再代入することはできません。
Q3: なぜconst
を使う必要があるのですか?
A3: const
を使うことで、意図しない値の変更を防ぎ、コードの可読性や安全性を向上させることができます。特に、再代入する必要のない値を扱う場合は、積極的にconst
を使用することが推奨されます。
その他の参考記事:JavaScriptのletとconst