JS 不写分号会出 BUG 的。。。

2018-09-19 11:13:03 +08:00
 fundebug
console.log("Hello, World!")
[1,2,3].map(i=>console.log(i))

报错"cannot read property '3' of undefined"

那大家还写不写分号呢? https://blog.fundebug.com/2018/09/18/js-semicolon-bug/

14072 次点击
所在节点    JavaScript
97 条回复
liuguang
2018-09-19 21:37:14 +08:00
当然写了,否则压缩时,会报错的
likaka
2018-09-19 21:45:08 +08:00
学过 java 的都会写,js 不写;,电脑自动加,但电脑傻会加错
gbin
2018-09-19 21:52:20 +08:00
曾经我在 V2EX 上调侃了一下不写分号的人,结果我换了一个 ID
fanyingmao
2018-09-19 22:00:32 +08:00
从 Java 转过来,JS 语法太随意了,不写分号代码看不下去。
fobven
2018-09-19 22:09:46 +08:00
遇到几个特殊字符在前面加上分号就行了,其余地方统统没必要加,写分号就是浪费时间。
lyhiving
2018-09-19 22:17:57 +08:00
不写分号的都是初级入门。
PythonAnswer
2018-09-19 22:20:51 +08:00
偷懒,我不写分号
royzxq
2018-09-20 01:51:30 +08:00
#66 攻击不可取, 通常这种情况需要手动在上一行结尾或者下一行开始加上分行

建议在下一行开始的地方加,不然你上一行一修改又要翻车了。
```
;[1, 2,0, 3].filter(it => !!it)
```
tsui
2018-09-20 06:09:11 +08:00
@kernel redux 相当小的库了,没几行代码,你看看 react
picture2200
2018-09-20 06:55:24 +08:00
以前写 juery 时先打一个;,就防止这种问题出现
brickyang
2018-09-20 07:37:52 +08:00
@kernel #49 你为什么敢用「最」热门来定义 Redux ?其他 js 项目的 star 比它少吗?
fy
2018-09-20 09:28:46 +08:00
@avastms #43 语法风格:Standard
我也不知道这个被称为“ JavaScript 标准语法风格”的文档是谁干的。
shintendo
2018-09-20 09:34:21 +08:00
不喜欢写分号,一眼看过去脏兮兮的。
关键问题在于,ASI 不会因为你写了分号而关闭,解释器不会因为你写了分号,而知道你没写的地方是真的不想要分号。
zhwithsweet
2018-09-20 09:37:16 +08:00
我看你你这个头像,就怕你来一波广告。(逃
fundebug
2018-09-20 09:57:26 +08:00
@zhwithsweet 小姐姐头像设计得好,自带广告效应
autoxbc
2018-09-20 10:06:08 +08:00
加分号:我的语句正确结束了,我句首不加,你们别来害我

不加,特例加:你害我也给你挡住,我句尾不加,后边的爱死不死

看起来是两种做人方式
keelii
2018-09-20 10:06:21 +08:00
作为一个有志程序员,解释器在 tokenize 阶段出现的问题不应该叫做 BUG 吧,运行时的错误才是真正意义上的 BUG

这就好比有 A,B 两条路,A 已经注明了不能走。你还选择走 A 然后说这路确实有问题
shyrock
2018-09-20 10:10:54 +08:00
一切有利于减少 bug 的规则都是好规则,为了减少 bug,键盘磨损和代码美观算个 P。
w3sy
2018-09-20 10:26:53 +08:00
Swift 开发看到你们的讨论,瑟瑟发抖。
898601566
2018-09-20 10:29:17 +08:00
这是个习惯,和语言无关

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

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

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

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

© 2021 V2EX