関数プロトタイプの拡張

Function.prototype の拡張

Function.prototype に methodメソッドを追加することで prototype オブジェクトにメソッドを追加できる。以下の例では該当するメソッドが存在しなかった場合に指定したメソッドを追加する。

Function.prototype.method = function(name, func) {
    if(!this.prototype[name]) {
        this.prototype[name] = func;
        return this;
    }
}


String に trim メソッドを追加。

String.method('trim', function(){
    return this.replace(/^\s+|\s+$/g, '');
})


追加したメソッドを利用。

document.open();
document.write('"' + " hoge ".trim() + '"');
document.close();


追加した trim() により出力結果は以下のようになる。

"hoge"