var、let、constの違い:JavaScriptで変数を宣言する方法


  1. var: 「var」は、古いバージョンのJavaScriptで使用されてきた変数宣言キーワードです。このキーワードを使用すると、変数のスコープは関数スコープとなります。つまり、変数が宣言された関数内でのみアクセス可能です。また、同じ変数名を複数回宣言してもエラーは発生しません。
function example() {
  var x = 10;
  if (true) {
    var x = 20; // 同じ変数名を再宣言
    console.log(x); // 出力: 20
  }
  console.log(x); // 出力: 20
}
  1. let: 「let」はES6(ECMAScript 2015)で導入された変数宣言キーワードです。このキーワードを使用すると、変数のスコープはブロックスコープとなります。つまり、変数が宣言されたブロック内でのみアクセス可能です。また、同じ変数名を同じスコープ内で再宣言するとエラーが発生します。
function example() {
  let x = 10;
  if (true) {
    let x = 20; // 同じ変数名を再宣言(エラー)
    console.log(x);
  }
  console.log(x);
}
  1. const: 「const」もES6で導入された変数宣言キーワードです。このキーワードを使用すると、変数は定数として宣言されます。つまり、一度値が代入されるとその後変更することはできません。また、「const」もブロックスコープを持ち、同じ変数名の再宣言はエラーとなります。
function example() {
  const x = 10;
  if (true) {
    const x = 20; // 同じ変数名を再宣言(エラー)
    console.log(x);
  }
  console.log(x);
}

これらの変数宣言キーワードの違いを理解することは、JavaScriptのコーディングで役立ちます。適切なキーワードを使用して変数を宣言することで、スコープの問題を回避し、意図しない変更を防止することができます。