在ES6中使用分号

sev*_*n11 51 javascript node.js ecmascript-6

我的印象是分号已经过时了ES6.但是,我今天遇到了这个:

不起作用:

let i = 0

[0, 1, 2, 3, 4, 5, 6].forEach(item => console.log(item))
Run Code Online (Sandbox Code Playgroud)

作品:

let i = 0;

[0, 1, 2, 3, 4, 5, 6].forEach(item => console.log(item))
Run Code Online (Sandbox Code Playgroud)

为什么这里需要分号,我什么时候应该使用它们?

Eve*_*ers 44

没有分号[1,2,3,4,5,6]将被评估为属性访问.哪个是完美的JS,我个人认为添加分号是不是很重要,所以我继续使用它们.

  • 我们称之为"属性访问",而不是"数组的索引".在`0 [6]`中,没有数组. (14认同)
  • 作为替代,请务必使用分号,掉毛工具可以用来捕获这些暧昧的场景为你,如http://eslint.org/docs/rules/no-unexpected-multiline,这样你可以保持不一般规则分号,但必要时添加它们. (7认同)