【发布时间】:2017-07-27 23:18:50
【问题描述】:
有时,主要是在课堂上,我需要做一个单行函数。
例如:
class Blah {
getVisibilityAnimValue() { return this.state.isVisible ? 100 : 0 }
}
在 ES6 中有什么友好的方式吗?我试图省略周围的卷曲并省略返回,但它不起作用。
【问题讨论】:
-
非箭头函数?为什么?
-
ES6 方法定义语法已经比 ES5
Blah.prototype.getVisibilityAnimValue = function() { … };友好得多 -
@Kinduser 只是为了简短的缘故做一个
=>会导致一个无用的.bind正确(如果我不需要访问this)? -
我不认为箭头函数真的做了“无用的绑定”。我认为这是解释器内置的一个功能,每个箭头函数都有一个
this值与它在其范围上下文的定义中相关联。是的,我认为他们可以使用.bind(),但我怀疑它的级别低于此。它没有将this值与它的调用方式相关联(就像解释器对普通函数所做的那样),它使用与其词法范围上下文相关联的this值。基本上,解释器将分配一个this值 - 只是哪个值的问题。