ES6変数に反応する
変数
ES6以前は、変数を定義する方法は1つしかありませんでした。それは、
var
キーワードを使用することです。それらを定義しなかった場合、それらはグローバルオブジェクトに割り当てられます。厳密モードでない限り、変数が未定義の場合はエラーが発生します。
現在、ES6では、変数を定義する3つの方法があります:
var
、、、let
およびconst
。
どこ
var x = 5.6;
関数の外部で使用する場合var
、それはグローバルスコープに属します。
関数内で使用する場合var
、その関数に属します。
var
ブロックの内側、つまりforループを使用する場合でも、変数はそのブロックの外側で使用できます。
var
ブロックスコープではなく、
関数スコープがあります。
させて
let x = 5.6;
let
はのブロックスコープバージョンであり
var
、それが定義されているブロック(または式)に限定されます。
let
ブロック内、つまりforループを使用する場合、変数はそのループ内でのみ使用できます。
let
ブロックスコープがあります。
const
const x = 5.6;
const
は、一度作成されるとその値が変更されることのない変数です。
const
ブロックスコープがあります。
キーワードconst
は少し誤解を招くです。
定数値を定義するものではありません。値への定数参照を定義します。
このため、次のことはできません。
- 定数値を再割り当てします
- 定数配列を再割り当てします
- 定数オブジェクトを再割り当てします
- 定数配列の要素を変更します
- 定数オブジェクトのプロパティを変更する
でも君ならできる: