素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

Object.prototype.__noSuchMethod__を使ってメソッドチェーン

function toChain(obj) {
  this._parent = obj;
  this.valueOf = function() obj;
}

toChain.prototype.__noSuchMethod__ = function(id, args) {
  var v = this._parent[id].apply(this._parent, args);
  this.valueOf = function() v;
  return this;
}

var chain = new toChain([3, 2]);
chain.push(1).unshift(4).sort().join('') + '5'; //"12345"