在使用 React Native 时,我注意到它的贡献者和示例中有一些奇怪的约定——在任何地方留下逗号,例如:
- http://url.brentvatne.ca/1hCiI
- https://github.com/facebook/react-native/blob/master/Examples/Movies/MoviesApp.js#L20-L24
重点是什么?
在使用 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
];
所以是的,我宁愿在每一行都采用尾随逗号。