0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JavaScriptのvarとlet

Posted at

JavaScriptでのvarとletの違いについて

最近JavaScriptの勉強を初めて衝撃的だったので備忘録として。

varだと同じ変数名が使えてしまう

例えばvarだと以下のような事が許されてしまいます。

var a = 'str';
console.log(a); // strと出力

var a = 1;
console.log(a); // 1と出力

Javaとか静的型付け言語をやっていた身としては恐ろしい・・・

letだと変数名の重複は許されない

先ほどのコードを以下のようにletに直すと

let a = 'str';
console.log(a); // strと出力

let a = 1;
console.log(a); // 1と出力

その変数名はもう使われているという旨のエラーが出てくれます。
Uncaught SyntaxError: Identifier 'a' has already been declared

スコープの違い

上記の他にブロックスコープ/関数スコープの違いがあるようです。
以下の記事がわかりやすかったです。
letとvarの違い

基本的にはlet

変数名の重複やスコーピングを考えると基本的にはletを使った方が良いのかなと思います。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?