从更高阶函数定义es6类中的方法

时间:2016-01-13 19:32:13

标签: javascript class ecmascript-6 higher-order-functions

我目前正在将一些es5 javascript代码转换为es6,将旧方法解析转换为类语法。

Toto.prototype.titi = function() {}
// => 
class Toto {
    titi(){}
}

问题是,某些功能是从高阶函数中获得的。

我应该如何转换这样的东西?

Toto.protype.titi = myFunctionFactory(function() {})

1 个答案:

答案 0 :(得分:1)

使用特殊的新ES6语法,无法改变它。就像你正在做的那样继续做。

查看at the spec表明,在类中声明的方法必须是属性名,后跟开括号,可变数量的参数,紧括括号,左括号,函数体,然后是右括号。没有从表达式中分配的选项。

  

语法

     

MethodDefinition [Yield]:

     

PropertyName [?Yield](StrictFormalParameters){FunctionBody}