タグ

ブックマーク / level0.kayac.com (1)

  • ASSetPropFlagsのススメ | _level0 - KAYAC Front Engineer Blog

    これまたマニュアルに載ってない、関数の設定をするASSetPropFlagsという関数の話です。 なんでコレを書くにいたったかというと、以前のビルトインクラスや関数拡張系のハックを行った際に不都合が出てくるからです。 まず該当するエントリーは以下です。 Arrayの拡張 デバッグを工夫する(trace関数を拡張) Objectの長さを取得する(Objectの拡張) 何がいけないかというと、Class.prototypeなどにプロパティを追加するかたちで拡張した場合、そのままだと拡張したメソッドがプロパティとして紛れ込んだ状態になります。 そのため、for inなどでプロパティを洗い出したときなどにユーザにとって予期しないプロパティも列挙されることになってしまいます。 特にArray、Object、MovieClipなどダイナミックにプロパティを増やせるクラスで陥りやすい問題です。 Arra

    ASSetPropFlagsのススメ | _level0 - KAYAC Front Engineer Blog
  • 1