JavaerのためのAS3(その1:変数)

宣言文法

Java 型名 変数名;
AS3 var 変数名:型名;

スコープ

Javaのように、ブロックスコープがないのに注意。

Java

if(true) {
  int i = 1;
}
System.out.println(i); // compile error

AS3

if(true) {
  var i:int = 1;
}
trace(i); // 1

]
ちなみにこんなことまでできる(ホイスト)ので邪悪だ。混乱を引き起こすので絶対にしない事を推奨。(原理的には、「変数の宣言」は、コンパイル時に一番先頭に移動するらしい。ただ「初期化」は移動しない。ややこしい。)

非推奨

i = 5;
trace(i); // 5;
var i:int = 1;
trace(i); // 1