変数は、var のキーワドで用意することができます。
しかし、var のキーワドを使わなくても、適当にネーミングした名前に対して、代入することで変数が生成され初期設定できます。
では、var は何のためにあるのでしょうか? 存在理由の全てを理解してもらう説明は難しいので、1つ例を示します。
例えば 関数定義の中で、var を使わないで、代入処理を行うことができます。
(コンパイラに慣れている人からすると エラーが起きそうで、違和感があるでしょう。)
この記述の前に、その関数内で、その名前のvar を付けた宣言があれば、そのローカル変数が変更対象になります。
その名前のvar を付けた宣言が無くて、既に代入対象のグローバル変数が存在していれば、それが変更対象になります。
そうでなければ、この代入処理の時点で、グローバル変数が生成されて、代入で初期化されます。
実験用ボタン | alertの評価式 | その値 | 補足 |
---|---|---|---|
typeof 1.23 | 'number' | ||
typeof NaN | 'number' | ||
typeof '1.23' | 'string' | ||
typeof 1.23 | 'boolean' | ||
typeof null | 'object' | ||
typeof new Date() | 'object' | ||
typeof [1,2,3,] | 'object' | 配列 | |
typeof document.write | 'function' | 関数 | |
typeof undefined | 'undefined' | 未定義