JavaScript里缺少分号引起的bug

299 阅读1分钟

今天在项目里想试试对象解构,看了阮一峰的es6里的一种嵌套赋值的方式,用到项目里怎么都实现不了,报错如下:
阮一峰es6:
在这里插入图片描述
我用在项目中:
在这里插入图片描述
就是报错:
在这里插入图片描述
结果最后查到原因是option后面少了一个分号
在这里插入图片描述
这样就可以了

通过查询,发现尤大给出了解释:

至于说 “很难总结什么时候加不加”,其实真的很简单。真正会导致上下行解析出问题的 token 有 5 个:括号,方括号,正则开头的斜杠,加号,减号。我还从没见过实际代码中用正则、加号、减号作为行首的情况,所以总结下来就是一句话:一行开头是括号或者方括号的时候加上分号就可以了,其他时候全部不需要。其实即使是这两种情况,在实际代码中也颇为少见。

作者:尤雨溪

解释来源:
知乎链接:JavaScript 语句后应该加分号么?