现在,写 JS 带不带分号?

2015-12-03 13:02:01 +08:00
 Gem
es6 出来,一些特性越来越接近 python ,写的时候也越来越不想带分号了,大家现在情况怎样?
8200 次点击
所在节点    JavaScript
69 条回复
exoticknight
2015-12-03 18:53:39 +08:00
可以不加
zythum
2015-12-03 19:00:01 +08:00
@hbkdsm

然而
angular
ember
jquery
react

这些项目的 JS 代码都加分号。
18000rpm
2015-12-03 19:07:39 +08:00
JS 写的少。搜了一下,原来这个争论已经有些历史了

http://www.zhihu.com/question/20298345
Phariel
2015-12-03 19:07:58 +08:00
@daysv 点赞 强迫症不能忍 加上后 warning 消失才舒服。。。
hbkdsm
2015-12-03 19:08:00 +08:00
@zythum 所以这是一个风格问题呀。有 Java, PHP 背景的倾向于加分号,有 Python, Ruby 背景的倾向于不加,按照团队的 Style guide 来就好。
behappy
2015-12-03 19:11:46 +08:00
团队不要求加。。。
但是还是觉得加分好比较好。
SilentDepth
2015-12-03 19:30:15 +08:00
我想问一下,主张不加分号的理由或者原因是什么?
an168bang521
2015-12-03 19:40:49 +08:00
我基本都是加的,不加分号感觉没有结束一样,会感觉心里怪怪的;
webStorm 里也会提示;
加不加看个人习惯把,如果不加,压缩 JavaScript 代码时候,不给力的压缩网站,可能会出现未知错误(一般情况下,有些地方不加分号压缩好像也没啥事);
还有就是印象中好像在 JavaScript 高程三还是那本书里看到,说如果不加分号做结束,浏览器会自动判断并且给适当的位置添加分号进行解析;如果加了分号,就不需要浏览器去判断,可以直接解析代码,说是可以提高浏览器性能;
感觉还是推荐加,不加分号总觉得怪怪的;
xmbaozi
2015-12-03 19:42:36 +08:00
带,除了 d3js
FrankFang128
2015-12-03 19:47:01 +08:00
说 WebStorm 提示的,都是不会配置么?
zhuangzhuang1988
2015-12-03 20:13:00 +08:00
加, 肯定得加入的, 即使我用 typescript 都加入的
sox
2015-12-03 20:20:01 +08:00
知道什么时候不加有问题,所以不加,只在必须加的是后加。

比如楼上某处的

;(function ...
Tink
2015-12-03 20:20:42 +08:00
不带啊
BOYPT
2015-12-03 20:21:46 +08:00
python 有强制缩进,每一行很明确; js 没这个特性,必须加。
love
2015-12-03 21:52:48 +08:00
@BOYPT 莫明奇妙的推论, js 没有强制缩进不是有花括号吗,这和加不加分号有什么关系
love
2015-12-03 21:59:30 +08:00
而且很多有影响力的项目不加分号说明这种做法是完全没有问题的,这只是个象缩进用 tab 还是空格一样的风格问题,比如牛 b 的 rackt 家的所有项目都不加分号。
BOYPT
2015-12-03 22:47:24 +08:00
@love 缩进是没什么关系,比如很多 jquery 代码是这样的

$.ajax()
.done(function () {blablabla;})
.fail(function () {blablabla;})
.always(function () {blablabla;});


我刚才稍微想了下觉得是 python 强制缩进所以不能这么用,但其实还是语言设计上的区别,不仅是缩进引起。
wizardoz
2015-12-03 23:12:30 +08:00
不带分好编辑器会警告,所以我带
xwartz
2015-12-03 23:53:03 +08:00
我也不喜欢写分号,但是团队已有项目写分号,只有遵循了。
M4ster
2015-12-04 00:00:42 +08:00
一般都用 CoffeeScript , IDE 对它的支持也好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/240830

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX