【发布时间】:2017-05-16 10:44:24
【问题描述】:
以下代码有什么严重错误
var obj = {a:1}
[1,2,3].forEach(console.log)
Babel 制造了这种不正常的混合物?
var obj = { a: 1 }[(1, 2, 3)].forEach(console.log);
适用于任何 ES201[567] 预设。已通过https://babeljs.io/repl 验证。
是的,以分号结束第一行会有所帮助。不使用分号仍然是一种危险的做法吗?
更新:在以“天哪,你当然应该使用分号”为由投反对票之前,请确认不使用分号的演变,以及箭头函数和不断增长的数组/对象原型函数玩具箱。所有现代 JS 示例都这样做,ES6 新手很容易混淆。
【问题讨论】:
-
分号在 js 中很重要
-
在第一行之后使用分号?
-
Babel 不会误解代码。将该代码放入控制台。它不会做你认为它会做的事情。是的,使用分号。
-
(1, 2, 3)返回 3,除非它是函数调用的一部分。阅读更多:comma operator -
最好添加分号。如果 obj 后面跟着一个函数或其他东西,你就不会知道。所以,我想你遇到这个是件好事。
标签: javascript ecmascript-6 babeljs