3

JavaScriptの変数宣言

JavaScriptの変数宣言

JavaScriptの変数宣言

JavaScriptでは、変数を使用してデータを保存することができます。変数を宣言するには、varlet、またはconstキーワードを使用します。

varは、従来のJavaScriptの変数宣言キーワードです。letは、ブロックスコープの変数宣言キーワードです。constは、定数の変数宣言キーワードです。

var

varで宣言された変数は、グローバルスコープまたは関数スコープに属します。グローバルスコープは、コード全体で参照できる変数のスコープです。関数スコープは、関数内だけで参照できる変数のスコープです。

varで宣言された変数は、宣言時に初期化され、undefinedが代入されます。また、varで宣言された変数は、再代入することができます。

var name = "John Doe";
 
// グローバルスコープ
console.log(name); // 出力:John Doe
 
function foo() {
  // 関数スコープ
  var name = "Jane Doe";
 
  console.log(name); // 出力:Jane Doe
}
 
foo();

let

letで宣言された変数は、ブロックスコープに属します。ブロックスコープは、で囲まれたコードブロックのスコープです。

letで宣言された変数は、宣言時に初期化され、undefinedが代入されます。また、letで宣言された変数は、再代入することができますが、スコープの範囲外で参照するとundefinedが返されます。

{
  let name = "John Doe";
 
  console.log(name); // 出力:John Doe
}
 
// スコープの範囲外
console.log(name); // 出力:undefined

const

constで宣言された変数は、定数です。定数は、一度値を代入すると、再代入することができません。また、constで宣言された変数は、ブロックスコープに属します。

const name = "John Doe";
 
// 再代入できない
name = "Jane Doe"; // エラー
 
// スコープの範囲外
console.log(name); // 出力:John Doe

var、let、constの違い

項目varletconst
スコープグローバルスコープまたは関数スコープブロックスコープブロックスコープ
初期化undefinedが代入されるundefinedが代入されるundefinedが代入される
再代入可能可能(スコープの範囲外で参照するとundefinedが返される)不可

まとめ

varletconstは、JavaScriptの変数宣言キーワードです。varは従来のJavaScriptの変数宣言キーワードですが、letconstは、より安全で保守しやすいコードを書くために導入されました。

letは、varと同じように再代入することができますが、スコープの範囲外で参照するとundefinedが返される点が異なります。

constは、一度値を代入すると、再代入することができません。これにより、変数の値が意図せず変更されるリスクを減らすことができます。

解説

  • 最新のJavaScriptの標準では、varではなく、letまたはconstを使用することを推奨しています。
  • letは、varと同じように再代入することができますが、スコープの範囲外で参照するとundefinedが返される点が異なります。
  • constは、一度値を代入すると、再代入することができません。これにより、変数の値が意図せず変更されるリスクを減らすことができます。

これらの違いを理解することで、より安全で保守しやすいJavaScriptコードを書くことができます。