IT戦記 このページをアンテナに追加 RSSフィード Twitter

2007-04-19

ActionScript3 で配列リテラルの forEach とかやるときに括弧がいる件

JS だったら

['hoge', 'fuga'].forEach(function(e){alert(e)});

でいいんだけど

AS だと

(['hoge', 'fuga']).forEach(function(e:*):*{trace(e)});

のように配列リテラルを括弧で囲まないとダメ

どうやら

括弧で囲まないと配列リテラルメタデータタグと勘違いするらしかった。

でも、メタデータタグは Flex の仕様で AS の仕様じゃないような・・・?

このへんどうなってるんだろう・・・

はっとりはっとり 2007/04/25 15:11 >括弧で囲まないと配列リテラルをメタデータタグと勘違いするらしかった。

メタデータタグはFlexの仕様です。
が、コンパイラはFlexとASを特別区別していないので両方を満たせるようにした結果の副作用ですね。
(既知だとは思いますが mxmlなどはコンパイル時に一旦ASへ変換されます )

ではでは〜

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/amachang/20070419/1176988025