React Native-What'It’在任何地方都要留下逗号

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

本文关键字:任何地 Native-What It React      更新时间:2023-09-26

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

  • http://url.brentvatne.ca/1hCiI
  • https://github.com/facebook/react-native/blob/master/Examples/Movies/MoviesApp.js#L20-L24

有什么意义?

然后,当执行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
];

所以,是的,我更喜欢在每一行中使用尾随逗号。