Help us understand the problem. What is going on with this article?

JavaScriptにおけるvar, letはスコープの仕組みが違う

JavaScriptにおけるvar, letはスコープの仕組みが違う

JavaScriptにおいて使われているvar, let, constの違いについて気になって調べてみたのでメモとしてここに投稿します。

const

constは定数である。一度代入した値を変えることがないときに使う。

varとletで宣言された変数の違い。

これら二つの違いはスコープの仕組み

var

varにより宣言された変数は関数スコープを持つ。そのため関数内であればとこからでもその変数にアクセスできる。

let

letにより宣言された変数は、ブロックスコープを持つ。そのためアクセスできる範囲が宣言されたブロック内に制限されている。

let.js
if () {
  let a = 'abc';
}
console.log(a); // 宣言されたブロックの外なのでエラーとなる。

letを使うことのメリット

ブロックスコープを持ちアクセスできる範囲が制限されているため、宣言されたブロック内の外側で使用されてバグにつながるということがなくなる。


参考にしたサイト
JavaScriptの変数宣言はletにすべきか 『入門JavaScriptプログラミング』から解説

この記事の内容に間違いなどありましたらご指摘していただけると幸いです。

kzshiba
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away