【发布时间】:2017-05-05 21:30:44
【问题描述】:
我正在使用一个第三方库,该库有一个将函数作为参数的函数。我正在做一些条件检查来决定是否添加一个特定的函数作为参数,在某些情况下我不想提供一个函数。在这种情况下提供 null 会引发错误。
我发现这段代码有效,但我不完全理解发生了什么。
compose(__DEV__ ? devTools() : f => f)
f => f 是否等同于 () => {} 一个空的匿名函数?
【问题讨论】:
-
根据MDN返回一个对象字面量
f -
不是空匿名,是身份。
-
FWIW, you can often stick constructs like this into babel 查看旧版本 ECMAscript 中的等价物是什么。
-
对stackoverflow.com/questions/24900875/… 的回答并没有直接回答这个问题。我知道 f => f 是一个匿名函数,我只是不明白它在做什么。我认为这个问题是一个具体案例,Felix King 提供的关于身份函数的信息对于这个问题来说是独一无二的。
标签: javascript lambda ecmascript-6