#var/let/constとは?
変数を宣言する際に使うキーワード。
何がいいのかというと
『let』と『const』により、変数の値を意図せず上書きしたり、間違って同じ名前の変数を宣言してしまうようなバグを防止できるようになりました。
varを使う必要性が感じないのは私だけですかね??
#varとは
varでは再宣言、再代入が可能です。
var test = '初期値';
test = '再代入OK';
var test= '再宣言OK';
追記:varを使わないと行けないときは、JavaScriptの実行環境がかなり古い場合。
昔のJSにはconstやletはなく、varしかありませんでした。
なのでTypeScriptのように
JavaScriptにトランスパイルする言語では使うことはまず無いですmm
#letとは
letでは再宣言が禁止
let test= '初期値OK';
test= '再代入OK';
let test= '再宣言NG';
#constとは
constでは、再宣言、再代入が禁止=定数
const test = '初期値OK';
test= '再代入NG';
const test= '再宣言NG';
#まとめ
再代入が必要な時は、『let』
定数にしたいなら**『const』**
#スコープの範囲について
##let
下記のようにletを使用すると、ブロックの中と外で同じ変数名でもスコープを分けてくれます。
let a = 'イエス ブロック!';
var b = 'ノー ブロック!';
if(true){
let a = 'YES BLOCK!';
var b = 'NO BLOCK!';
console.log(a);//YES BLOCK!
console.log(b);//NO BLOCK!
}
console.log(a);//イエス ブロック!
console.log(b);//NO BLOCK!
##const
const a = '定数';
if(true){
const a = 'YES CONST!';
console.log(a);//YES CONST!
}
console.log(a);//定数
次回は''と""の違いがよくわからなかったので解説します。
Java出身なので「文字列は""」って認識が抜けなくて。。。