LoginSignup
0
0

More than 5 years have passed since last update.

Javascriptのcallとapplyを試す

Posted at

Javascriptではcallとapplyという方法で他のオブジェクトに実装された関数を借りることができるらしいので早速ためしてみた。

OOPは、物凄く乱暴にいえば主語と動詞をグループ化する。Class Calculatorがaddという関数を持つみたいな感じで。主体と行いをセットにしていくことでシステムの構造化を行うが、Javascriptでは行いをそのままで主体を差し替える事ができる。

やり方としては

var Adder = function(inX,inY){
    this.x = inX;
    this.y = inY;
    this.add = function(){
        return this.x+this.y;
    };
};

var Borrower = function(inX,inY){
    this.x = inX;
    this.y = inY;
};

var borrower = new Borrower(3,4);
var adder = new Adder(5,6);
var result = adder.add.call(borrower);

みたいな感じ。.addという関数はAdderにしか定義されてないが.callファンクションを使うことにより、borrowerにその関数を実行させることができ、borrowerは自分の保持してるデータを使うので、resultは7になる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0