1
think2011 2015-12-03 13:07:50 +08:00
早期写过 coffeescript ,算是养成了简洁的习惯,现在靠 webstorm 的默认格式约束。
|
2
think2011 2015-12-03 13:09:26 +08:00
想表达的是说,因为现在主要的编辑器是 webstorm ,如果缺少分号 webstorm 会提示的,所以我就靠 webstorm 的默认格式化。
|
3
lion9527 2015-12-03 13:24:02 +08:00
带吧,不过我是业余玩票的。看的书上是建议带。 ES6 还不熟。
|
4
otakustay 2015-12-03 13:27:48 +08:00 4
最近在着手做公司的编码规范, ES6 如果使用全带分号的写法的话,在 ES7 的 Decorator 上会遇上不小麻烦
如果选全不带分号的话,在对象字面量里遇到 Computed Property Key 的时候会遇上些麻烦 所以简单来说就是, ES 垃圾! |
5
Rice 2015-12-03 13:28:10 +08:00 via Android
多大的事这也问
|
7
otakustay 2015-12-03 13:30:54 +08:00
上面有点说错,不是对象字面量里遇到 Computed Property Key ,是在 Decorator 撞上一个 Computed Property Key 的时候
大部分情况下是没关系的,只有下一条语句是以[或者(起始的时候,上面才必须分号结束,但这种语句太少太少 |
8
FrankFang128 2015-12-03 13:34:36 +08:00
按你的团队规范来!
反正我是不带的。 |
9
FrankFang128 2015-12-03 13:35:39 +08:00
@otakustay 那就很简单了,规范写成『在必要的时候加分号』
|
10
qhxin 2015-12-03 13:44:51 +08:00
分号不是必须的吧?
|
11
learnshare 2015-12-03 13:57:37 +08:00
必须加,这是共识
|
12
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 虽然现在确实加分号是主流,但还没到“共识”这个程度,不加分号是可以运行得好好的 |
13
sleepwater 2015-12-03 14:11:56 +08:00
项目内部统一就行, bootstrap 的 js 源码就是没分号的,不过个人还是习惯加分号。
|
14
otakustay 2015-12-03 14:12:10 +08:00
|
15
FrankFang128 2015-12-03 14:13:11 +08:00
@otakustay 知道,我的意思是,规范不一定是『处处用分号』或『处处不用』。
|
16
love 2015-12-03 14:33:36 +08:00
我是不带的,代码看上去清爽多了。只要记住首字符是括号的情况下才需要前面加分号规则就行。
|
17
learnshare 2015-12-03 14:52:02 +08:00
@otakustay 我不能来反驳你,但分号是必须的
|
18
otakustay 2015-12-03 15:04:21 +08:00
@learnshare 我完全不明白不加分号会产生什么问题,是人会看不懂还是机器会看不懂……
|
20
hkongm 2015-12-03 15:30:05 +08:00
自定了 ESLint 规则
我们团队规定必须写 |
21
learnshare 2015-12-03 15:32:00 +08:00
@otakustay 看自己喜好咯,大部分不加的情况不会遇到什么问题
|
22
liuxiaoxiaochen 2015-12-03 15:37:14 +08:00
我觉得还是带吧 毕竟语言直接还是有差异的
|
23
zythum 2015-12-03 15:50:28 +08:00
如果你确定不加分号,那么你要清楚你的代码是怎么跑的才行,不然容易出现想不到的问题。
下面一个栗子, 如果 3 秒内没有发现为什么有问题。请乖乖把分号加回去: var aFunction = function () { alert(“我是一个方法哈哈哈”) } (function ( //我叫一个闭包, 哈哈哈 ) {}) |
24
aivier 2015-12-03 16:19:49 +08:00
过去,现在,将来,都写 =_=
|
25
luoway 2015-12-03 16:26:26 +08:00
return
false; |
26
fds 2015-12-03 16:30:43 +08:00
建议还是能加就加。
如果习惯 python ,那么建议尝试下 coffeescript ,分号大括号都不用啦。 |
28
tommyZZM 2015-12-03 16:32:43 +08:00
源代码肯定带啊,一切按照 jslint 走就好啦。
反正后面还要代码合并压缩的 |
29
chemzqm 2015-12-03 16:40:49 +08:00
http://blog.izs.me/post/2353458699/an-open-letter-to-javascript-leaders-regarding
记住几点规则就可以不带了。 自打不带分号以后,不仅代码码起来更加流畅,看上去也更优雅了😀 |
30
chopper 2015-12-03 16:50:04 +08:00
我只想静静的看你们把缩进换行都去掉
|
31
sox 2015-12-03 17:16:56 +08:00
|
32
lifeTech 2015-12-03 17:19:45 +08:00
加分号吧,可阅读性和维护性都更好,不要偷这懒
|
33
jacobbubu 2015-12-03 17:32:02 +08:00
我是能不加就不加。但是一旦加了,就要坚持都加。
|
34
daysv 2015-12-03 17:38:31 +08:00
加加加加加 webstorm 就是这么烦
|
36
muzuiget 2015-12-03 18:29:48 +08:00
一定要加,不加是埋雷作死行为。
|
37
kslr 2015-12-03 18:37:46 +08:00
习惯了
|
38
18000rpm 2015-12-03 18:40:55 +08:00 via iPad
我记得玉伯在博客里也提倡不加,这样的人还是有一些影响力的
|
39
jydeng 2015-12-03 18:45:27 +08:00 1
还是要加,不然感觉不对, c#写习惯了。
|
40
hbkdsm 2015-12-03 18:46:37 +08:00 via Android
vue
bootstrap npm 这些项目的 JS 代码都不加分号。 |
41
exoticknight 2015-12-03 18:53:39 +08:00
可以不加
|
43
18000rpm 2015-12-03 19:07:39 +08:00
|
45
hbkdsm 2015-12-03 19:08:00 +08:00 via Android
@zythum 所以这是一个风格问题呀。有 Java, PHP 背景的倾向于加分号,有 Python, Ruby 背景的倾向于不加,按照团队的 Style guide 来就好。
|
46
behappy 2015-12-03 19:11:46 +08:00
团队不要求加。。。
但是还是觉得加分好比较好。 |
47
SilentDepth 2015-12-03 19:30:15 +08:00
我想问一下,主张不加分号的理由或者原因是什么?
|
48
an168bang521 2015-12-03 19:40:49 +08:00
我基本都是加的,不加分号感觉没有结束一样,会感觉心里怪怪的;
webStorm 里也会提示; 加不加看个人习惯把,如果不加,压缩 JavaScript 代码时候,不给力的压缩网站,可能会出现未知错误(一般情况下,有些地方不加分号压缩好像也没啥事); 还有就是印象中好像在 JavaScript 高程三还是那本书里看到,说如果不加分号做结束,浏览器会自动判断并且给适当的位置添加分号进行解析;如果加了分号,就不需要浏览器去判断,可以直接解析代码,说是可以提高浏览器性能; 感觉还是推荐加,不加分号总觉得怪怪的; |
49
xmbaozi 2015-12-03 19:42:36 +08:00 via Android
带,除了 d3js
|
50
FrankFang128 2015-12-03 19:47:01 +08:00
说 WebStorm 提示的,都是不会配置么?
|
51
zhuangzhuang1988 2015-12-03 20:13:00 +08:00
加, 肯定得加入的, 即使我用 typescript 都加入的
|
52
sox 2015-12-03 20:20:01 +08:00
知道什么时候不加有问题,所以不加,只在必须加的是后加。
比如楼上某处的 ;(function ... |
53
Tink 2015-12-03 20:20:42 +08:00
不带啊
|
54
BOYPT 2015-12-03 20:21:46 +08:00
python 有强制缩进,每一行很明确; js 没这个特性,必须加。
|
56
love 2015-12-03 21:59:30 +08:00
而且很多有影响力的项目不加分号说明这种做法是完全没有问题的,这只是个象缩进用 tab 还是空格一样的风格问题,比如牛 b 的 rackt 家的所有项目都不加分号。
|
57
BOYPT 2015-12-03 22:47:24 +08:00
@love 缩进是没什么关系,比如很多 jquery 代码是这样的
$.ajax() .done(function () {blablabla;}) .fail(function () {blablabla;}) .always(function () {blablabla;}); 我刚才稍微想了下觉得是 python 强制缩进所以不能这么用,但其实还是语言设计上的区别,不仅是缩进引起。 |
58
wizardoz 2015-12-03 23:12:30 +08:00
不带分好编辑器会警告,所以我带
|
59
xwartz 2015-12-03 23:53:03 +08:00
我也不喜欢写分号,但是团队已有项目写分号,只有遵循了。
|
60
M4ster 2015-12-04 00:00:42 +08:00
一般都用 CoffeeScript , IDE 对它的支持也好。
|
61
pynix 2015-12-04 02:31:29 +08:00
能不用则不用。。。
|
62
xifangczy 2015-12-04 05:21:05 +08:00
前端丢来的 js 都是不带分号的,因为一次 BUG 因为没有分号的原因以后每次都要求要带上分号...
|
63
babytomas 2015-12-04 08:10:18 +08:00 via Android
document.write("我觉得分号还是很有必要的,这个看团队要求吧");
|
64
ghostheaven 2015-12-04 08:32:12 +08:00
坚持加分号 30 年
|
65
zeroten 2015-12-04 09:07:41 +08:00 via Android
弱弱问一下,不加分号会不会影响 js 压缩
|
66
onlyice 2015-12-04 09:12:55 +08:00
当年写 C++ 的时候觉得写 JS 也要加,现在写 Python 觉得 JS 能不加就不加。
|
67
Felldeadbird 2015-12-04 09:24:47 +08:00
写!你做手工压缩的时候,你会发现没有分号会导致 JS 执行失败。当然大部分开源的压缩库都会处理的。
|
68
sxd 2015-12-04 09:35:12 +08:00
对 我发现好几个老外出教程 都不写分号了 还以为是趋势了...
|