はじめに
JavaScriptで変数を宣言する方法には、var
、let
、そしてconst
があります。これらはそれぞれ異なる特徴を持ち、適切な使い分けが重要です。この記事では、それぞれの宣言方法の特徴と使い分けについて詳しく解説します。
varの特徴
varはJavaScriptの初期から存在する変数宣言方法です。以下のような特徴があります:
- 関数スコープ:変数は関数内でのみ有効です。
- 再宣言可能:同じスコープ内で再び同じ名前の変数を宣言できます。
具体例を見てみましょう:
function example() {
var x = 10;
if (true) {
var x = 20; // 同じスコープ内で再宣言されています
console.log(x); // 20
}
console.log(x); // 20
}
example();
letの特徴
letはES6(ES2015)で導入された変数宣言方法です。主な特徴は以下の通りです:
- ブロックスコープ:変数はブロック({})内でのみ有効です。
- 再宣言不可:同じスコープ内で再び同じ名前の変数を宣言することは許されません。
具体例を見てみましょう:
function example() {
let y = 10;
if (true) {
let y = 20; // 異なるブロック内なので問題ありません
console.log(y); // 20
}
console.log(y); // 10
}
example();
constの特徴
constはlet同様ES6で導入されましたが、異なる点として以下の特徴があります:
- ブロックスコープ:変数はブロック({})内でのみ有効です。
- 再宣言不可かつ再代入不可:宣言後に値を変更することができません。
具体例を見てみましょう:
function example() {
const z = 10;
if (true) {
const z = 20; // 異なるブロック内なので問題ありません
console.log(z); // 20
}
console.log(z); // 10
}
example();
まとめ
JavaScriptにおける変数の宣言方法には、var
、let
、const
があります。var
は関数スコープを持ち、再宣言が可能です。let
はブロックスコープを持ち、再宣言が不可です。const
もブロックスコープを持ちますが、再代入ができないという特徴があります。
状況に応じて適切な宣言方法を選ぶことが、より良いコードを書く鍵です。