JS中到底需不需要加分号

要不要加分号

其实这个问题我一直也没有去深究过,在此之前,我的代码规范里分号是必须要有的,但是在知乎里看了尤大,以及众多大牛的独到见解后,我觉得以后再写JS代码时,我有必要省略这个确实有点多余的分号了。

尤大的观点:没有应该不应该,只有你自己喜欢不喜欢。JavaScript 语法长得 C-like 不代表它本质上和 C 是一类语言,所有直觉性的 “当然应该加分号” 都是保守的、未经深入思考的草率结论。

贺师俊的结论:有人实际测试过相同代码在依赖ASI或不依赖ASI下的性能差异,据说较早版本的V8下,依赖ASI(即不加分号)略慢,但较新版本则反之。也有人认为性能测试结果在统计上没有差异。无论如何,实测结果都表明即使有差异,也小到完全可忽略。

什么时候应该加分号

速记方法:如果你写 JS 代码不喜欢带分号,而又搞不清什么时候必须加分号,可以这么做:在以 “(“、”[“ 、”/“、”+”、”-“ 开头的语句前面都加上一个分号。

我的观点:除极特殊的上面几种情况外,分号除了在编码过程中增加工作负担,实际意义并不大,所以,能省则省吧。

你可能感兴趣的:(JS中到底需不需要加分号)