目次

    ES6 には、JavaScript で変数を定義する 2 つの新しい方法を含む、多くの優れた新機能が付属しています。 JavaScript で変数を宣言するためのキーワードまたは識別子が 3 つになりました。この記事では、var、let、および const の主な違いと、いつ使用する必要があるかについて説明します。
    各識別子の違いを完全に理解するには、まずスコープの概念を理解する必要があります。

    スコープとは?

    スコープは、JavaScript に対する変数のアクセス可能性または可視性を決定します。 JavaScript には 3 種類のスコープがあります。
    1. グローバル スコープ
    2. 関数 (ローカル) スコープ
    3. ブロック スコープ (ES6 の新機能)
    関数の外で宣言された変数は、グローバル スコープにあります。グローバル変数は、他のどのスコープでもアクセスおよび変更できます。関数内で定義された変数はローカル スコープにあり、他の関数ではアクセスできません。各関数が呼び出されると、新しいスコープが作成されるため、同じ名前の変数を別の関数で使用できます。
    ブロック スコープには、if ステートメントとループ、または {} でラップされたその他のコードが含まれます。呼び出されると、新しいスコープは作成されません。ブロック スコープ内で宣言された変数は、それらが既に含まれていたスコープに残ります。

    Var キーワード

    ES6 より前は、JavaScript で変数を宣言するために var キーワードが使用されていました。 var キーワードは JavaScript の誕生以来存在しており、ES6 より前のコードで見られるものです。


    var キーワードを使用して宣言された変数は、グローバル スコープまたは関数スコープのいずれかであり、ブロック レベルのスコープをサポートしていません。これは、変数がループまたは if ステートメントで定義されている場合、ブロック外でアクセスされ、誤って再定義されてバグのあるプログラムにつながる可能性があることを意味します。原則として、var キーワードは使用しないでください。


    Let キーワード

    多くの点で、let キーワードは var キーワードと非常によく似ています。どちらも後で値を再割り当てできるからです。 2 つの主な違いは、let はブロック スコープを扱い、再割り当てはできますが、再宣言できないことです。


    Const キーワード

    let キーワードと同様に、const キーワードもブロック スコープです。ただし、 const キーワードを使用して変数を宣言すると、変数を再宣言できるだけでなく、再割り当てもできなくなります。したがって、すべての const 変数には、宣言時に値を割り当てる必要があります。



    概要

    原則として、常に const で変数を宣言する必要があります。変数の値を変更する必要があることに気付いた場合は、戻って let に変更してください。

    変数の値が変化することがわかっている場合は、let を使用します。
    他のすべての変数には const を使用します。
    var を使用しないでください。

    PREV
    2022.08.01
    Zustandを使ってみた
    NEXT
    2022.08.10
    ストループ効果とWEBサイト