ES6 class 添加函数对象

ES6 class add object of functions

我正在尝试将函数对象包含为静态 class 属性,以便像 myClass.setPayload[id].call(this, buffer).

那样调用

其实我有这个:

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

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

objective 是为了抑制构造函数的 nedd,所以我尝试了以下方法,但不起作用:

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

建议 ?

静态仅用于为 class 定义方法 - 参见 static - JavaScript 您可以设置:

MyClass.setPayLoad = ...

// or make a getter function:
class MyClass {
    static get setPayLoad() {
         return ....;
    }
}