2017-08-31 13 views
-1

私は静的なクラスのプロパティとしてmyClass.setPayload [id] .call(this、buffer)のように呼び出すために、関数のオブジェクトを含めることを試みています。目的は、コンストラクタのNEDDを抑制することにあるので、私は動作しないことを、次のことを試してくださいES6クラスは関数のオブジェクトを追加します

var setPayload = { 
    0x01: function(buffer){...}, 
    0x0a: function (buffer) {...} 
} 

class myClass{ 
    constructor(buffer){ 
     ... 
     setPayload[buffer[1]].call(this, buffer.slice(...)) 
    } 
} 

class myClass{ 
    static setPayload = { 
     0x01: function(buffer){...}, 
     0x0a: function(buffer){...} 
    } 
} 

提案

は実際に、私はこれを持っていますか?

+0

まあ罰金が、私は別の方法 –

+0

を見つけるだろうなぜコンストラクタでそれを持っていないのですか?本当の目標は何ですか? –

+0

@DenysSéguret同じ質問ではない、私はクラスに含まれる関数のオブジェクトについて尋ねた... –

答えて

1

静的のみのクラスのメソッドを定義するために使用されている - あなたはどちらかに設定することができますstatic - JavaScript 参照してください。あなたには、いくつかのコードは、インスタンスの構築時に呼ばれるようにしたい場合は

MyClass.setPayLoad = ... 

// or make a getter function: 
class MyClass { 
    static get setPayLoad() { 
     return ....; 
    } 
} 
関連する問題