変数宣言とは??
変数宣言とは、コンピュータプログラムのソースコード中で、これから使用する変数の名前を宣言し、値を格納するための記憶領域を確保させること。プログラミング言語によって要不要や方法は異なる。
参考:https://onl.bz/vri1Ygt
だそうです。
なぜ調べようと思ったか??
私は今までほとんどの変数宣言をconst
で書いていた。
なぜかというと、どこかのサイトで大体の変数宣言はconstでいけるよ~
的な記事を見たからである。
そして、数字をカウントするために以下のコードを実行したときにエラーが出た。
const count1:number = 0;
count1++;//Cannot assign to 'count1' because it is a constant.
console.log(count1);
他の二つの宣言方法だと普通に+1される
let count2:number = 0;
count2++;
console.log(count2);//1
var count3:number = 0;
count3++;
console.log(count3);//1
エラー文を見てみる
エラー文はCannot assign to 'count1' because it is a constant.d
日本語に直すとcount1' は定数なので代入できません
である
- じゃあ定数ってなに??
① 一定の数。きまっているかず。規則などできめられた人数。
② 定まった運命。命数。
参考:https://kotobank.jp/word/%E5%AE%9A%E6%95%B0-6056
字の通り定まった数
という意味を持っているようです
(constantも同じ意味)
つまり??
constで宣言した値は更新することができない(再代入できない)
→count++しても値を更新することはできない
- string型でも同じエラーが出力される
const text:string = 'abc';
text = 'def';//Cannot assign to 'text' because it is a constant.
本題:const,var,letの違い
本題のconst,var,letの違いを簡単に確認すると
- const→ほとんどの変数宣言はこれでOK!
- var→古いからあんまり使わない
-
let→数え上げなど再代入する際に使う
ほかにも、再宣言やスコープなどの違いがあるそう
↓の記事が分かりやすかったので載せておく
【JavaScript】var / let / const を本気で使い分けてみた:https://qiita.com/cheez921/items/7b57835cb76e70dd0fc4