constとletについて(Es6)
const
constは定数なので、変わる予定のない物を変数に入れる letは変わる予定があるものを変数に入れる
constで宣言した変数に違う値を入れようとするとエラーになる。
const name ='hiroki'; let title = 'hogehoge';
const => 再代入できない、再定義できない
const hoge = 100 hoge = 100 ===>エラーになる const hoge = 100 ===>エラーになる
let => 再代入できる、再定義できない
let hoge = 100 hoge = 100 ===>エラーにならない let hoge = 100 ===>エラーになる
変数の宣言方法
const 変数名 = 初期値 ; let 変数名 = 初期値 ; var 変数名 = 初期値 ;
javascriptの変数名はcamelCaseを利用します。
■ const -> 再代入が出来ない。定数のような値を代入する。
const number = 100; const number = 200;
ただ、このような実装ではエラーにならない
const obj = { foo: 123 } console.log(obj.foo) -> 123 obj.foo = 456 console.log(obj.foo) -> 456
このようなケースではエラーが出る
■ let -> 再代入できる、再定義できない
let Number = 100; Number = 200 console.log("ok:)
ただ、再定義はできない
let Number = 100; let Number = 200;
これはエラーになる
■ var
-> 再代入できる、再定義できる
※ varはES6では利用しなくなった
使いわけ
基本はconstを利用、constでダメな時はletを利用する
なぜconstとletを使い分けないといけないのか?
constとletを利用することで値が変わるケースがあるのかどうかが瞬時に汲み取れるようになる。