【发布时间】:2018-09-27 02:44:39
【问题描述】:
我更喜欢做函数声明
doSomething() //still works
function doSomething() {}
结束
var doSomething = function() = {}
doSomething()
因为有了函数声明,我不必担心顺序,它只是在顶部被提升了。现在谈到 es6,我的同事喜欢做 const doSomething = () => {} 因为对他们来说他们不喜欢“函数”这个词。我失去了吊装,我该如何解决?
我希望我能做到这一点
abc()
abc() => {}
但是我必须使用 babel 以便可以忽略单词 function 以在 es6/es7 中创建函数?
【问题讨论】:
-
如果您的目标是支持 ES6 的浏览器或环境,则不需要
babel,所以这取决于。 -
箭头函数没有被提升。这实际上是一种很好的行为,因为它可以生成更多可调试的代码。
-
告诉你的同事你不喜欢
const,或者(箭头)函数表达式。让你的同事明白function声明在 ES6+ 中没有任何意义上的“弃用”。一起建立编码约定。
标签: javascript ecmascript-6 babeljs ecmascript-2017