業務の中でJavaScriptを使っていて、実装したい機能が完成したので、コードのレビューを出したところ指摘を受け、varの部分をletに変更するようにとコメントを貰いました。その場では、varの部分を全てletに置き換えて済ませました。理屈を知らずに済ませてしまうことは良くないと思ったので、varとletの違いや使い分けを調べてみようと思いました。関連varとletの違い変数のスコープに大きな違いがあります。ブロックスコープと関数スコープがあります。グローバル変数とローカル変数です。ECMAScript6以降からブロックスコープと関数スコープを区別して、変数の宣言ができるようになります。ECMAScript6については、別の機会に調べて見ようと思います。JavaScriptのバージョンのような物として軽く認識しています。varブロックスコープの変数を宣言したい時に使う複数宣言をすることができる。let関数スコープの変数を宣言したい時に使う二重に宣言することができない。constも存在letの他にconstも存在します。違い再代入ができるかどうか。変更しない固定した値のものに関しては、constで記述するのが良いかと思います。ECMAScript5以前ECMAScript5以前では、ブロックスコープや関数スコープに関しては区別をせずに、変数定義は全てvarで行っていたようです。ブロックスコープを定義するためには、即時関数を使います。まとめこれまで、何も知らずに、JavaScriptでの変数宣言と言ったら、varをつけるものだと覚えていたので、意味があり、また最近だとletを使って宣言することもできることを学びました。他の言語だと、変数宣言の場所によってグローバル変数かローカル変数を指定していたなと思いました。言語とか)少しずつ疑問に思ったことを調べる習慣を付けて知識にしていきたいと思います。コメントをキャンセルメールアドレスが公開されることはありません。TOP%d人のブロガーが「いいね」をつけました。