グローバル変数宣言時に、代入しないとエラーになる理由


グローバル変数宣言と同時に代入するとエラー表示されないのですが

[code]

    a=1;
    
[/code]

グローバル変数宣言だけだとエラーになるのはなぜですか？

[code]

    a;
    
[/code]

> Uncaught ReferenceError: a is not defined

* * *

「var a;」はOKで「a;」がNGな理由は、仕様だから？？




`a;`は、変数を宣言しているのではなく参照しているからです。（既にある変数として値を読み出す。（そしてその値は捨てる））




`a;`は、変数を宣言しているのではなく参照しているからです。（既にある変数として値を読み出す。（そしてその値は捨てる））

