【发布时间】:2017-02-09 05:50:38
【问题描述】:
使用 Babel,我可以看到
callback = () => {};
编译成
callback = function callback() {};
这是我所期望的。但是,当我尝试将其与 || 一起使用时出现错误
callback = callback || () => {}
我希望相当于
callback = callback || function(){};
为什么这是一个错误?另外,这种熟悉的语法是否有更正确的 ES6 版本?
【问题讨论】:
-
你不能把它包起来吗
callback = callback || (() => {}) -
以类似的方式,您不能立即调用
() => {}();你必须写(() => {})()。 -
@1252748,这是经典的XY problem。如果变量未设置,您的中间目标是为变量分配函数,因此您询问
||。但是你还没有问过关于你的主要目标的问题:即,这段代码是在什么上下文中编写的?你想解决什么问题?我怀疑有更好的解决方案。 -
@naomik 标题可能有点含糊或误导,但根据我收到的优秀答案,我认为其意图已经很清楚了。
-
@naomik 我只是好奇为什么它不起作用。没有更大的图景。
标签: javascript ecmascript-6 arrow-functions