2017-08-31 64 views
-1

我想包含一個函數對象作爲靜態類屬性,以調用像myClass.setPayload [id] .call(this,buffer)。ES6類添加函數對象

其實,我有這個:

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

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

目的是抑制構造的NEDD,所以我嘗試以下方法,即不工作:

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 ....; 
    } 
}