#JavaScriptの変数について
##そもそも変数とは
変数とは値に名前をつける。
例えば、犬を飼っているとして、柴犬にポチと名前をつけるのと一緒です。
好きな名前をつけれるし、呼びやすいし愛着湧くでしょう。
##型の種類、var let const
について
###var
- varは上書き可能
- varは再宣言可能
var hoge01 = "hoge01変数";
console.log(hoge01);
}
consoleではこのように表示されます。
hoge01変数
var hoge01 = "hoge01変数";
hoge01 = "hoge01変数を上書き";
console.log(hoge01);
}
consoleでは上書きされてこのように表示されます。
hoge01変数上書き
このようにvar
で宣言すると、プロジェクトが大きくなると意図しないところで変数を上書きしてしまい
不具合の原因になります。
###let
- letは上書き可能
- letは再宣言不可能
let hoge02 = "hoge02変数";
hoge02 = "hoge02変数を上書き";
console.log(hoge02);
こちらもvar
同様に上書きされコンソールにはこのように表示されます。
hoge02変数を上書き
let hoge02 = "hoge02変数を再宣言";
let変数を再宣言しようとすると、コンソールにこのようなエラーが出ます
Uncaught SyntaxError: Identifier 'hoge02' has already been declared
もうすでにhoge02は宣言されているとエラーが出ます。
letだと再宣言されるとエラーが出るのでバグを未然に防げます
###const
- constは上書き不可
- constは再宣言不可
const hoge03 = "hoge03変数";
hoge03 = "hoge変数を上書き";
console.log(hoge03);
const変数を上書きしようとするとコンソールにエラーが出ます。
Uncaught TypeError: Assignment to constant variable.
const hoge03 = "hoge03変数";
const hoge03 = "hoge03を再宣言";
console.log(hoge03);
const変数を再宣言しようとするとlet同様にコンソールにエラーが出ます
Uncaught SyntaxError: Identifier 'hoge03' has already been declared
##変数宣言について
型
変数名
= 値
##まとめ
varは再宣言、上書きなんでもできる。
便利だがプロジェクトが大きくなると不具合の原因になる可能性がある。
letは再宣言はできないが上書きが可能、なのでfor分の変数とかによく使われる。
constは上書き、再宣言共に不可能だが、constで定義した、配列、オブジェクトのプロパティは変更可能
なのでほとんどの宣言がconstでいいのかな。
最後まで読んでいただきありがとうございました。