React Native - 在任何地方留下尾随逗号有什么意义?

时间:2015-04-05 11:59:04

标签: javascript conventions jshint react-native

在使用React Native时,我发现了一些奇怪的惯例。贡献者和示例 - 在任何地方留下尾随逗号,例如:

重点是什么?

3 个答案:

答案 0 :(得分:7)

然后当您执行diff时,只更改了一行。

如果你不这样做 - 2行将被标记为已更改。

从技术上讲,你可以把逗号放在行的开头并改变你的风格,但它是(警告:难以置信)丑陋。

如果我没记错的话,在构造JS对象时指定它是有效的,但当你将它用作JS对象文字时这样做是无效的(如果我错了,请纠正我)。

所以这个:

var { foo, } = obj;

是有效的ES6代码。

而且:

var o = { foo: 42, };

不是有效的JS代码。

答案 1 :(得分:3)

首先,如果您有这样的代码段:

{
    a: 'a',
    b: 'b'
}

并为其添加一行,您必须记住在'b'之后添加逗号,否则您将收到语法错误:

{
    a: 'a',
    b: 'b'
    c: 'c'
}

如果你把逗号放在任何地方,你甚至不必考虑这一点 交换和删除行也是一样。

其次,如果您正在使用版本管理系统(如git或svn)并添加一行,则必须在上一行中附加一个逗号,因此两行已更改而不是一行。

第三,它看起来更加一致,特别是当所有键和值具有相同的长度时:

{
    a: 'a',
    b: 'b',
    c: 'c',
    d: 'd',
    e: 'e',
    f: 'f'  // <-- Aren't you bothered by this?
}

答案 2 :(得分:1)

你可能会遇到这种情况,简单但很难调试和查找:

[
    -7,
    -2,
    -1,
    -3   // <-- this simple skip would cause a -7 here (-3 - 4) with no errors
    -4,
    -2,
    -9
];

所以是的,我更倾向于在每一行中采用尾随逗号。