React Native - 到处留下尾随逗号有什么意义?

React Native - What's the point of leaving trailing comma everywhere?

在使用 React Native 时,我注意到它的贡献者和示例中有一些奇怪的约定 - 到处都留下尾随逗号,例如:

有什么意义?

然后当你执行 diff 只有一行被改变。

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

从技术上讲,您可以在行首放置逗号并更改您的样式,但它(警告:很难自以为是)丑陋。

如果我没记错的话,在解构JS对象的时候指定是有效的,但是作为JS对象字面量使用的时候是无效的(不对请指正)

所以这个:

var { foo, } = obj;

是有效的 ES6 代码。

还有这个:

var o = { foo: 42, };

不是有效的 JS 代码。

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

{
    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?
}

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

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

所以是的,我更愿意在每一行中采用尾随逗号。