それなりブログ

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など

AS3で for …in の取り出し順が不明

ActionScript3で、for … in 文でのプロパティ取り出し順が素直じゃないなという話。
例1

var foo:Object = {v:1, w:2, x:3, y:4, z:5};
for (var i:String in foo) trace(i);

trace出力

w
x
y
z
v

例2

var foo:Object = {w:2, x:3, y:4, z:5};
for (var i:String in foo) trace(i);

trace出力

w
x
y
z

例3

var foo:Object = {x:3, y:4, z:5};
for (var i:String in foo) trace(i);

trace出力

z
x
y

どういう理由で順番が変わってるんだろうか?

とりあえず、for … in (そしておそらくは for each … in)文では、プロパティを取り出す順番に期待しちゃいけないというのは良くわかった。
本来、そういうものだからいいんですけど・・・理由が知りたいです。
【追記】
「それは仕様です」というコメントを戴いたので、それで良しとした。
適当ですみません。


コメントを残す

メールアドレスが公開されることはありません。

Categories

Archives