ホーム >> 左脳ActionScript3 >> リファレンス(仮) >> >> データ型 >> プリミティブ型 >> 未定義(Undefined,null)
未定義(Undefined,null)
「データが無いことを示す」型は少々特殊で、以下の場合によって2種に区別される。

  • undefined
    変数定義で初期化代入しなかった場合の変数の値。

  • null
    コードの設計者が、意図的にデータを空に(未定義に)する場合の値。


一般的な定義は上記なのだが、実際はどうなのか確かめてみた。


// コンポジット型
var o:Object;
trace(o);
var a:Array;
trace(a);
// プリミティブ型
var i:int;
trace(i);
var n:Number;
trace(n);
var s:String;
trace(s);
結果は以下。

null
null
0
NaN
null

一つも undefined が出てこない。

そこで、Acsion Script 3 では推奨されない「型を指定しない変数」を宣言してみた。

var u;
trace(u);
結果、undefined が表示。

undefined

Action Script 3 において「変数の型をあえて指定しない」使い方は、「実行エンジンの最適化」から、なるべくしないよう推奨されている。
Action Script 2.0、1.0 の古い仕様では、逆に変数の型というものを意識する必要が無かったが、今後はソースコードの互換性程度で片付けられ、どんどん「しっかりした型指定」をする方向に進んでいくと考えられる。
ホーム >> 左脳ActionScript3 >> リファレンス(仮) >> >> データ型 >> プリミティブ型 >> 未定義(Undefined,null)