现在,写 JS 带不带分号?

2015-12-03 13:02:01 +08:00
 Gem
es6 出来,一些特性越来越接近 python ,写的时候也越来越不想带分号了,大家现在情况怎样?
7991 次点击
所在节点    JavaScript
69 条回复
think2011
2015-12-03 13:07:50 +08:00
早期写过 coffeescript ,算是养成了简洁的习惯,现在靠 webstorm 的默认格式约束。
think2011
2015-12-03 13:09:26 +08:00
想表达的是说,因为现在主要的编辑器是 webstorm ,如果缺少分号 webstorm 会提示的,所以我就靠 webstorm 的默认格式化。
lion9527
2015-12-03 13:24:02 +08:00
带吧,不过我是业余玩票的。看的书上是建议带。 ES6 还不熟。
otakustay
2015-12-03 13:27:48 +08:00
最近在着手做公司的编码规范, ES6 如果使用全带分号的写法的话,在 ES7 的 Decorator 上会遇上不小麻烦
如果选全不带分号的话,在对象字面量里遇到 Computed Property Key 的时候会遇上些麻烦

所以简单来说就是, ES 垃圾!
Rice
2015-12-03 13:28:10 +08:00
多大的事这也问
liqingcan
2015-12-03 13:29:40 +08:00
@Rice 为了养成好习惯,哈哈
otakustay
2015-12-03 13:30:54 +08:00
上面有点说错,不是对象字面量里遇到 Computed Property Key ,是在 Decorator 撞上一个 Computed Property Key 的时候

大部分情况下是没关系的,只有下一条语句是以[或者(起始的时候,上面才必须分号结束,但这种语句太少太少
FrankFang128
2015-12-03 13:34:36 +08:00
按你的团队规范来!
反正我是不带的。
FrankFang128
2015-12-03 13:35:39 +08:00
@otakustay 那就很简单了,规范写成『在必要的时候加分号』
qhxin
2015-12-03 13:44:51 +08:00
分号不是必须的吧?
learnshare
2015-12-03 13:57:37 +08:00
必须加,这是共识
otakustay
2015-12-03 14:11:00 +08:00
@FrankFang128 规范还是得写明白,事实上没多少人知道什么是“必要的时候”,不如拿这个当面试题坑人去


@learnshare 哪来的共识,随便给你找几个:

airbnb : https://github.com/airbnb/javascript#semicolons
github (虽然是以 coffee 为主): https://github.com/styleguide/javascript

虽然现在确实加分号是主流,但还没到“共识”这个程度,不加分号是可以运行得好好的
sleepwater
2015-12-03 14:11:56 +08:00
项目内部统一就行, bootstrap 的 js 源码就是没分号的,不过个人还是习惯加分号。
otakustay
2015-12-03 14:12:10 +08:00
发错, airbnb 是以分号为主流的,找错

顺便再给一个调查: https://twitter.com/JavaScriptDaily/status/662655515500089344
FrankFang128
2015-12-03 14:13:11 +08:00
@otakustay 知道,我的意思是,规范不一定是『处处用分号』或『处处不用』。
love
2015-12-03 14:33:36 +08:00
我是不带的,代码看上去清爽多了。只要记住首字符是括号的情况下才需要前面加分号规则就行。
learnshare
2015-12-03 14:52:02 +08:00
@otakustay 我不能来反驳你,但分号是必须的
otakustay
2015-12-03 15:04:21 +08:00
@learnshare 我完全不明白不加分号会产生什么问题,是人会看不懂还是机器会看不懂……
plqws
2015-12-03 15:16:21 +08:00
@otakustay 《语言精粹》里提过
hkongm
2015-12-03 15:30:05 +08:00
自定了 ESLint 规则
我们团队规定必须写

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

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

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

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

© 2021 V2EX