在大多数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,
};
答案 0 :(得分:5)
不,没有技术理由这样做。
然而,我从来没有把尾随昏迷只是因为我认为它使代码更清晰。可能有些人也有来自网络开发的习惯,就像你提到的那样,你需要小心那些因为IE。
答案 1 :(得分:1)
首先,我认为尾随逗号是丑陋的,所以我只在必要时使用它们(只有一个元素的python元组) - 并且引导逗号甚至更加丑陋。
除此之外,有理由永远不要使用它们:如果您编写的代码是针对node.js的,或者客户端很可能是不喜欢它们的IE,则不必小心。
在node.js中省略它们没有技术原因。
答案 2 :(得分:1)
更新:我已经改变了我的立场。我认为尾随逗号很棒,因为您不必更改两行来添加属性,而diff只显示添加的行。
古老而错误:
我找到了一个很好的理由不使用尾随逗号,但是它并不特定于node.js :
这种格式的好处是差异性:添加或删除a 属性或数组成员几乎从不接触任何其他行,但是 实际发生变化的一个,而尾随逗号语法 几乎总是触及两行来使逗号正确。
相反,更改的行将永远不会有任何不相关的内容, 这有助于扫描提交视觉效果。
答案 3 :(得分:1)
它可能不会改善您的运行时或类似的结果,但是您可以使用与版本控制相关的结尾逗号。
如果不使用它,git将检测到其中一行已被修改而另一行已添加。但是,如果使用它,git会检测到仅添加了一行:
使用使用结尾逗号:
不使用使用结尾逗号:
答案 4 :(得分:0)
我是对象中alpha排序键的忠实粉丝。这有许多优点。主要是两个相似物体的视觉比较。所有提供JavaScript调试支持的现代IDE(我已经看过)对属性进行alpha排序。因此,当您将断点处的对象与您的代码进行比较时,它就会变得更容易。
在对象的最后一对上使用尾随逗号可以很容易地对对象进行排序:选择所有行并在编辑器中点击排序键。如果最后一对不再是最后一对,则不需要进一步添加/删除逗号。
我同意所有其他评论(首先)它使你的代码"不清洁"或者丑陋的。我发现在移动到尾随逗号之后我很快习惯了它,经过几周我开始喜欢这样看。
作为人类,我们对自己习惯的方式感到最满意。鉴于我们看到的大多数代码都没有我们最喜欢的尾随逗号。使用尾随逗号几周后,您可能会发现您更喜欢这样。你可能会发现它更实用。