2017-11-26 3 views
0

変数ゲームがアクセスできるように、メソッドgetYellowCycle()を宣言するにはどうすればよいですか? getYellowCycleはnewGame()という別のメソッドのメソッドで、model.gameというクラスにあります。ECMA6Scriptのクラスにある別のメソッドにあるメソッドにアクセスするにはどうすればよいですか?

ここでメソッドを呼び出す必要があります。

let game = model.Game.newGame(); 
expect(game.getYellowCycle().getX()).to.equal(50); 

ここでクラスmodel.game

model.Game = class { 

    newGame() { 

    } 
}; 

getYellowCycleは(ある)(newGameに行く必要があります)、このような

+0

'getYellowCycle'メソッドで新しいコンストラクタを作成し、' newGame'がそのコンストラクタの新しいインスタンスを返すようにしますか?あるいは 'getYellowCycle'メソッドを使って単純なオブジェクトを返すだけですか? – Li357

+0

'newGame'は' static'メソッドでなければなりません。 – Bergi

+0

ええ、あなたの両方が正しかった、ありがとう – BigE

答えて

0

何か:

const model = {}; 
 
model.Game = class { 
 

 
    newGame() { 
 
     return { 
 
      getYellowCycle() { 
 
       return { 
 
        getX() { 
 
         console.log("In getX"); 
 
         return 50; 
 
        } 
 
       }; 
 
      } 
 
     }; 
 
    } 
 
}; 
 

 
const game = (new model.Game()).newGame(); 
 
console.log(game.getYellowCycle().getX());

関連する問題