Arrayの落とし穴(2) – ゼロの配列

普段あまり使わないのだけれど、Arrayは・・・

var array:Array = new Array(0,2)

とやっても生成できます。で、たまたま横着してこの方式で・・・

array = new Array(0)

とやって、array[0] == 0 になると思ったら、要素ゼロの配列になってしまい、しばらく「何でだろうな??」とはまってしまいました。ヘルプ通りの仕様なんですけどね。

var array:Array = new Array(0,2)
trace(array,array.length) >> 0,2 2
array = new Array(0)
trace(array,array.length) >>  0

まあこんなコトで躓くこともないと思いますが、自分ではまたやりかねないのでメモ。

素直にこうすれば、何の問題も起きないんですけどねw。
array = [0]
trace(array,array.length) >> 0 1

[追記]2011.5.11
野中さんから情報いただきました。初期化は[]を使う方が速いらしいです。