JavaScript 000: let vs. const vs. var

Dec 06 2022
はじめに JavaScript では、`let`、`const`、および `var` は、変数を宣言するために使用される 3 つのキーワードです。これらのキーワードは、宣言された変数のスコープとアクセス可能性を決定します。
イメージソース

序章

JavaScript では、「let」、「const」、および「var」は、変数を宣言するために使用される 3 つのキーワードです。

これらのキーワードは、宣言された変数のスコープとアクセス可能性を決定します。

— ` let `: このキーワードは、ブロック スコープで変数を宣言するために使用されます。これは、` let ` で宣言された変数は、それが宣言されているブロック内でのみアクセスできることを意味します。

— ` const `: このキーワードは、定数である変数を宣言するために使用されます。つまり、宣言後に値を変更することはできません。` let`と同様に、`const` で宣言された変数もブロック スコープです。

— ` var `: このキーワードは、関数スコープを持つ変数を宣言するために使用されます。これは、` var ` で宣言された変数が、それが宣言されているブロック内だけでなく、宣言されている関数全体からもアクセスできることを意味します。

3 つのキーワードの違いを示す例を次に示します。

function myFunc() {
    // using var
    if (true) {
      var x = 5;
      console.log(x); // Output: 5
    }
    console.log(x); // Output: 5
  
    // using let
    if (true) {
      let y = 5;
      console.log(y); // Output: 5
    }
    console.log(y); // Output: ReferenceError: y is not defined
  
    // using const
    if (true) {
      const z = 5;
      console.log(z); // 5
    }
    console.log(z); // Output: ReferenceError: z is not defined
  
    // attempting to change value of a const variable
    z = 10; // Output: TypeError: Assignment to constant variable.
}

myFunc()

` y`変数は ` if`ブロック内で` let`で宣言されており、ブロック スコープを持っているため、ブロックの外ではアクセスできません。

` z ` 変数は ` if ` ブロック内で ` const `で宣言されており、ブロック スコープを持っているため、ブロックの外部からもアクセスできません。

さらに、` z ` は定数変数であるため、宣言後にその値を変更することはできません。

この JavaScript 変数の紹介をお楽しみいただけたでしょうか。

私に従ってください:リンクトイン、ツイッター