JavaScriptのconstとは?
JavaScriptで変数を宣言する場合、var
、let
、const
の3つのキーワードを使用します。その中でも、const
は「再代入できない変数」を定義するためのキーワードです。本記事では、const
の特徴や注意点、使用方法について詳しく解説していきます。
constは定数ではない?
const
は「constant(定数)」の略語であり、しばしば「定数を定義する」と説明されます。しかし、厳密に言うと、JavaScriptのconst
は定数を定義するわけではありません。const
で宣言した変数に格納される値自体は、後から変更される可能性があるためです。
混乱を避けるために、まずは「定数」と「再代入できない変数」の違いを明確にしておきましょう。
用語 | 説明 |
---|---|
定数 | 一度定義した名前(変数名)が常に同じ値を示すもの。値自体を変更することはできません。 |
再代入できない変数 | 一度変数に値を代入すると、その後は同じ変数名に対して別の値を代入することができない変数。ただし、オブジェクトや配列の場合、要素の値を変更することは可能です。 |
JavaScriptのconst
は、上記定義に基づくと、「再代入できない変数」を定義するためのキーワードと言えるでしょう。ただし、オブジェクトや配列をconst
で宣言した場合、その要素の値は変更可能です。
constを使用するメリット
const
を使用することで、以下のメリットがあります。
- コードの意図が明確になり、可読性が向上する
- 誤って値を変更してしまうことを防ぎ、バグの発生を抑える
constの使用方法
const
を使って変数を宣言する基本的な構文は以下の通りです。
const 変数名 = 値;
例えば、円周率をconst
で定義する場合は以下のようになります。
const PI = 3.141592;
上記コードでは、PI
という変数に円周率の値を代入しています。一度const
で宣言した変数には、その後別の値を代入することはできません。
注意点
const
で宣言した変数には、宣言時に初期値を代入する必要があります。初期値を代入せずに宣言するとエラーが発生します。- オブジェクトや配列を
const
で宣言した場合、要素の値は変更可能です。ただし、オブジェクトや配列自体を別のオブジェクトや配列に再代入することはできません。
constの使用例
以下は、const
を使用したコード例です。
const TAX_RATE = 0.1;
function calculatePrice(price, quantity) {
const subtotal = price * quantity;
const tax = subtotal * TAX_RATE;
const total = subtotal + tax;
return total;
}
const price = 1000;
const quantity = 3;
const totalPrice = calculatePrice(price, quantity);
console.log(totalPrice); // 3300
上記コードでは、消費税率をTAX_RATE
という定数として定義しています。calculatePrice
関数内では、小計、消費税額、合計金額を計算し、合計金額を返しています。この際、const
を使用することで、誤って値を変更してしまうことを防いでいます。
まとめ
const
はJavaScriptで再代入できない変数を定義するためのキーワードです。const
を使用することで、コードの可読性や保守性を向上させることができます。ただし、オブジェクトや配列をconst
で宣言した場合、要素の値は変更可能であることに注意が必要です。
参考文献
Q&A
Q1: const
とlet
の違いは何ですか?
A1: const
で宣言した変数は再代入できませんが、let
で宣言した変数は再代入可能です。const
は値が変更されないことが分かっている場合に、let
は値が変更される可能性がある場合に使用します。
Q2: const
で宣言した変数の値を変更するにはどうすればよいですか?
A2: const
で宣言した変数の値は変更できません。値を変更したい場合は、let
で変数を宣言する必要があります。
Q3: オブジェクトや配列をconst
で宣言した場合、要素の値を変更することはできますか?
A3: はい、オブジェクトや配列をconst
で宣言した場合でも、要素の値は変更可能です。ただし、オブジェクトや配列自体を別のオブジェクトや配列に再代入することはできません。
その他の参考記事:JavaScriptのletとconst