Javascriptで変数を宣言する方法

結論

個人的に今後letconstだけにしときます。

「var」に関してはvarをそのまま使わないといけない場合だけvarを使います。パッと思い浮かぶのはライブラリとかですかね。letかconstに統一したいけど、コードが多い場合はそのまま使用すると思います。

変数にはリテラル、オブジェクト、配列、関数などいろいろ格納できます。「名札付け」のイメージでしょうか?昔は「箱」イメージがよく使われていましたが、最近は変数を説明するときには「名前付けイメージ」が使われるようです。何かしらの都合が悪くなったのでしょうかね?

let

再宣言不可。
再代入可能。

私みたいな少ないコード量を書く場合はあまり気にしないかもです。変数名が重複するとエラーが起こります。

const

再宣言不可。
再代入不可。

実質、定数?という情報もちらほら見ますが変数です。

let x = 123
x = "abc"  //これはOK

let y = 123
let y = "abc"  //これはエラーが出ます

/*
SyntaxError: Identifier 'y' has already been declared
*/