为什么要关心Node.js中的尾随逗号?

在大多数Node.js库中,人们特别注意在最后一个key-property对象之后去除尾随逗号:

var test = { key1: 123, key2: 456, key3: 789 }; 

这在编辑代码时会产生一些麻烦,例如,为了交换最后两个键值对,还要添加一个逗号并删除一个。 有些人把逗号移动到下一行,这就解决了最后一个元素的问题,但也使代码更难阅读(恕我直言):

 var test = { key1: 123 , key2: 456 , key3: 789 }; 

另一方面,据我所知,JavaScript中的尾随逗号只会在一些IE浏览器中产生麻烦。 所以我想知道是否有任何技术上的原因,不要在Node.js中使用尾随逗号来编写哈希值? (如下:)

 var test = { key1: 123, key2: 456, key3: 789, }; 

不,这样做没有技术上的理由。

不过,我从来没有把拖后的昏迷只是因为我认为它使更清洁的代码。 也许有些人也有networking开发的习惯,就像你提到的那样,因为IE,你需要小心一些。

首先,我认为尾随逗号是丑陋的,所以我只在必要时使用它们(只有一个元素的python元组),而且逗号更加丑陋。

除此之外,还有一个原因是永远不要使用它们:如果你正在编写的代码是用于node.js或者客户端的,那么这个代码很可能是一个不喜欢它们的IE。

在node.js中省略它们没有技术上的理由。

更新:我已经改变了我的立场。 我认为尾随逗号是很好的,因为你不必改变两行来添加一个属性,而diff只显示添加的行。

老和错:

我发现一个很好的理由不使用尾随逗号但它不是特定于node.js

来自JohanSundström :

这种格式的好处是不同的友好性:添加或删除一个属性或数组成员几乎从来不碰其他任何行,而是实际发生变化的行,而拖尾逗号语法几乎总是触及两行来获得正确的逗号。

相反,变化的线条永远不会有任何不相关的东西,这有助于扫描视觉上的巨大。

我是一个对象中的alphasorting键的忠实粉丝。 这有很多好处。 主要的是两个类似对象的视觉比较。 所有为JavaScript提供debugging支持的现代IDE(我见过)都对属性进行了alphasorting。 所以,当你将一个断点处的对象与你的代码进行比较的时候,它会让你更容易。

在对象的最后一对上有一个尾随逗号可以很容易地对对象进行sorting:select所有行并在编辑器中点击sorting键。 如果最后一对不再是最后一对,则不需要进一步添加/去除逗号。

我同意所有其他意见,(首先)它使您的代码“不洁”或丑陋。 我发现,在转移到尾随逗号后,我很快习惯了,几周后,我开始更喜欢这样看待。

作为人类,我们对自己习以为常的事情感到满意。 鉴于我们所看到的大部分代码都没有最后一个我们最喜欢的逗号。 经过几个星期的尾随逗号,你可能会发现你更喜欢这个。 而且你可能会发现它更实用。