2017-08-31 67 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 ....; 
    } 
}