Flex 2 の mx パッケージのソースコード斜め読み

ソースコードを読むことは、API ドキュメントを読むより、遥かに仕組みが理解できる。ということで…

null チェック

null かどうかのチェックを != null と書く必要はなかったことを思い出した。

var obj:Object = null;
if (obj) {
  // 評価されない
}

function get xxxx():Array

配列 が存在すればコピーを返す、null のときは空配列を返す。

return array ? array.slice(0) : [];

コンポーネントで、Array を返しているところは大概、複製処理を走らせているので、何度も参照せずにキャッシュした方が良い。Container クラスの getChildren() も複製が走っているので、numChildren を使わずに getChildren().length するのはまずい(ソースを検索しとこ…)。