c4se記:さっちゃんですよ☆

.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)

.。oO(此のblogは、主に音樂考察Programming に分類されますよ。ヾ(〃l _ l)ノ゙♬♪♡)

音樂は SoundCloud に公開中です。

考察は現在は主に Scrapbox で公表中です。

Programming は GitHub で開發中です。

prototype chainのpattern (JavaScript)

プロトタイプチェーン (prototype chain) のpatternは、newを強制するpatternに等しい。class志向のdesign pattern風なjQuery式と、素直なJavaScript風な『JavaScriptパターン ―優れたアプリケーションのための作法』式がある。jQuery式は、葬られればいいと思う。

jQuery

function chain(arg) {
    return new chain.fn.init(arg);
}

chain.fn = chain.prototype = {
    init: function(arg) {
        this.arg = arg;
        return this;
    },
    hai: function(arg) {
        return this.arg + arg;
    },
    yeah: function(arg) {
        this.arg = this.hai(arg);
        return this;
    }
};
chain.fn.init.prototype = chain.fn;

chain('go')
    .yeah('lol')
    .hai('fix');

JavaScriptパターン』式

function chain(arg) {
    if (!(this instanceof chain)) {
        return new chain(arg);
    }
    
    this.arg = arg;
    return this;
}

chain.prototype = {
    hai: function(arg) {
        return this.arg + arg;
    },
    yeah: function(arg) {
        this.arg = this.hai(arg);
        return this;
    }
};

chain('go')
    .yeah('lol')
    .hai('fix');