見出し画像

【ウェブ制作初心者】改めてJavaScriptの変数を理解しなおしてみる【let=varだと思ってました】

JavaScriptの変数には、let、const、varがあって、
letは中身の入れ替えができる変数、
constは中身の入れ替えができない変数、
varはletと同じだけど古い変数で今は基本使わない。

というのが私のなんとなくな変数の理解でした。
しかし、結構違っていたようです。

まず、下記のようにletは再代入は可能だけれど、再定義は不可能だということ。

できる
let A = 150;
A = 50;

できない
let A = 150;
let A = 50;

つぎに、constは再定義・再代入が不可な変数で定数と言われているけれど、実はオブジェクトを使えば例外的に中身を変えられるので厳密には定数ではないこと。

そして、letとvarの違いについてはvarはただ古いというだけでなく、letと違って再代入だけでなく再定義も可能ということ。そういう性質上、バグが起きやすいということ。

今まで基本的にletを使っていたのですが、今後は基本的にはconstを使って、必要な場所にはlet、varは今までと同様あまり使わない様にしようと思います。

ちなみに、下記のような書き方もあるらしいですが、使わないような気がしますが、見かけた時に判断できるように頭の片隅にぐらいは置いておきたいですね!

let A = 10;
    B = 20;