3

在使用 React Native 时,我注意到它的贡献者和示例中有一些奇怪的约定——在任何地方留下逗号,例如:

重点是什么?

4

3 回答 3

9

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

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

从技术上讲,您可以将逗号放在行首并改变您的风格,但它(警告:几乎没有自以为是)丑陋。

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

所以这:

var { foo, } = obj;

是一个有效的 ES6 代码。

和这个:

var o = { foo: 42, };

不是有效的 JS 代码。

于 2015-04-05T12:02:41.053 回答
4

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

{
    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?
}
于 2015-04-05T12:05:45.083 回答
1

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

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

所以是的,我宁愿在每一行都采用尾随逗号。

于 2018-03-10T16:18:56.733 回答