IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

ActionScript の Object.prototype を拡張する実用的な例

このエントリの続きです。

d:id:amachang:20061220:1166630932
ActionScript では Object.prototype を書き換えていいので・・・、

実際に便利な関数を作ってみた

_def 関数

この関数は、 DontEnum な(for in で繰り返されない)プロバティを作る

Object.prototype._def = function(p, o) {
    this[p] = o;
    this.setPropertyIsEnumerable(p, false);
};
Object.prototype.setPropertyIsEnumerable('_def', false);
_merge 関数

この関数は、this に別のオブジェクトをマージする。上の _def 関数を使って作っています。

Object.prototype._def('_merge', function (o) {
    for(var p in o) this[p] = o[p];
    return this;
});

実際にこれを使うとどうなるか

使用前

たてながーん

var t = new TextField();
t.x = 10;
t.y = 10;
t.width = 400;
t.height = 400;
t.text = 'Hello';
addChild(t);
使用後

いちぎょーん

addChild(new TextField()._merge({ x: 10, y: 10, width: 400, height: 400 , text: 'Hello'}));

ね!簡単!

わーい