【JavaScript】var, let, const の違い・使い分け

JavaScript

理解に必要な前知識

①再宣言・再代入 >>>>> 「【JavaScript】再宣言・再代入とは?

②スコープ >>>>> 「【JavaScript】スコープとは?スコープの種類と違い

var

  • 再宣言できる
  • 再代入もできる
  • 関数スコープは持つが、それ以外は{}内で宣言してもグローバルスコープになる

まず、varは再宣言・再代入ができます。一般的な変数のイメージでOKです。

スコープに関しては、関数の中で定義した場合のみローカルスコープを持ちます。つまり、関数の中で宣言した場合のみ、関数内でしかその変数を使用することができません。

それ以外の場所で宣言した場合、プログラムのどこからでも使用することができます

let

  • 再宣言できない
  • 再代入はできる
  • 宣言された場所に合わせて、グローバル・ブロック・関数スコープを持つ

let は var とは異なり再宣言はできません。一度宣言した変数は、代入や再代入ができても再宣言はできません。

そして、let は宣言された場所に応じて、すべてのローカルスコープが適用されますブロックの中で宣言されればブロックの中でしか使用できないし、関数の中で宣言された場合には関数の中でしか使えません。

const

  • 再宣言できない
  • 再代入もできない
  • 宣言された場所に合わせて、グローバル・ブロック・関数スコープを持つ

const は再宣言・再代入できません。なぜなら、const は変数ではなく定数(固定値)を宣言します最初に宣言・代入したものから、何をしても変わることはありません

また、スコープは let と同じく、すべてのローカルスコープが適用されます。ブロックの中で宣言されればブロックの中でしか使用できないし、関数の中で宣言された場合には関数の中でしか使えません。

まとめ(表にしています)

上記お伝えしたものをまとめると以下のようになります。〇は適用され、×は適用されないことを意味します。ご参考にしてください。

※グローバルスコープは省いています。

タイトルとURLをコピーしました