大家的 js 代码逗号怎么玩的

2018-02-12 10:32:05 +08:00
 iblessyou

偶然看到有前置逗号的代码后,第一反应是这人是个 2 货吧 但仔细一琢磨,发现这么搞好处好像还不少的。 删除时只删一行 比如末行不会忘记多个逗号,也不容易漏逗号 能当个行标记,找东西也好找

统计下大家这样写的多不多

3337 次点击
所在节点    问与答
21 条回复
whypool
2018-02-12 10:36:47 +08:00
啥意思?
wu67
2018-02-12 10:46:50 +08:00
什么玩意?你是说尾逗号 trailing comma ?
ZxBing0066
2018-02-12 10:58:14 +08:00
楼主 eslint prettier 了解一下

跟填不填分号一样,前置还是后置一样。。没啥可说的
A3m0n
2018-02-12 10:59:44 +08:00
不懂
A3m0n
2018-02-12 11:01:11 +08:00
@A3m0n 借楼问个问题,之前有看到这种写法的:
var a =a || 12;
想知道是为什么。
lzvezr
2018-02-12 11:05:56 +08:00
@A3m0n 一般用于初始化,如果其他地方 a 已经赋值了,就不再赋值
maichael
2018-02-12 11:07:14 +08:00
@A3m0n

默认值,如果 a 是 undefined 之类就赋值 12
gbin
2018-02-12 11:09:48 +08:00
没有代码,怎么评?
stzz
2018-02-12 11:13:17 +08:00
@A3m0n 还有这写法不对,这样写 a 必然是 12
LancerComet
2018-02-12 11:19:32 +08:00
没看明白,是在说逗号表达式?俩字别用
![comma-expression.jpg]( https://i.loli.net/2018/02/12/5a810794297a0.jpg)

另外项目里没有 Lint 帮助做风格控制么?
newtype0092
2018-02-12 11:39:20 +08:00
@stzz a 有值的时候还是等于原来的值啊
ETO
2018-02-12 12:04:54 +08:00
@stzz 这有什么不对的?
huiyifyj
2018-02-12 12:07:35 +08:00
规范不同啦。
但最后压缩后都一样🙄。
mcfog
2018-02-12 12:27:03 +08:00
@ETO
@newtype0092

1. 如果 a 是在本 scope 中,这个写法的问题在于一般来说 var 声明前置是最佳实践,这样写要么说明重复 var 声明了,要么和直接写 var a=12 没有区别

2. 如果外层 scope 有 a,那么 var 在本层声明了一个 a 覆盖了外层的 a,写 a || 12 还是没有意义
https://pastebin.com/PnUZJ4aD


换句话说,这样写唯一能使||有意义的场景是个非常糟糕的场景(重复 var 声明)
newtype0092
2018-02-12 13:29:45 +08:00
@mcfog 那一般验证参数是否定义并给默认值的情况怎么写更好?
guog
2018-02-12 14:07:04 +08:00
楼已经被带歪了。我说下楼主的示例:
比如这种
{
"key1": "value1"
,"key2": "value2"
,"key3": "value3"
}
在新增加一行或者删除非第一行时不用再担心末尾的逗号,而另一种常见的方式:
{
"key1": "value1",
"key2": "value2",
"key3": "value3"
}
在新增时总要留意逗号,否则会报错。
kohos
2018-02-12 15:18:36 +08:00
强迫症表示还是喜欢把逗号放后面,不对齐看不爽
lieqishi
2018-02-12 16:00:11 +08:00
我知道的情况,好像就两种吧?一种是 var,一种是 arr
Cbdy
2018-02-12 16:02:09 +08:00
iblessyou
2018-03-12 10:59:26 +08:00
@guog 这帖子发了后都忘了, 的确就你正着,居然还有那么多人没理解是怎么回事。
我考虑了下最后还是决定第二种了,和大家统一吧,不一样的风格别人修改也会有障碍

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

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

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

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

© 2021 V2EX