はじめに
Reactの習得に向けてJavaScriptを学習中です。基礎文法を叩き込んでいるとき、タイトルの通りですが変数の仕組みが自由すぎて凄く印象に残ったので、まとめます。
JavaScriptの変数について
まずJavaScriptには3つの変数の書き方が存在します。
var変数
再代入、再宣言可能な自由すぎる奴です。
var hoge = "犬"
hoge = "猫"
var hoge = "犬猫"
let変数
再代入可能、再宣言不可な少し自由な奴です。
let hoge = "犬"
hoge = "猫"
let hoge = "犬猫" //エラー吐く
const変数
再代入、再宣言不可な堅い奴です。
const hoge = "犬"
hoge = "猫" //エラー吐く
const hoge = "犬猫" //エラー吐く
ここ重要
var変数やlet変数を使って値を代入後、更に再代入する際、文字列だけでなく数値なども代入することが可能です。
var hoge = "犬"
hoge = 3150
let hoge = "猫"
hoge = 3150
他言語経験者なら混乱してしまうポイントですね。大体変数の型で代入できる値の種類を分けられるはずですから。
string hoge = "文字列しかダメよ";
int hoge = 1234; //数値しかダメよ;
おわりに
JavaScriptで変数宣言するときは基本的に「let」か「const」なんだな~と思いました。