React Native - 到处留下尾随逗号有什么意义?
React Native - What's the point of leaving trailing comma everywhere?
在使用 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
];
所以是的,我更愿意在每一行中采用尾随逗号。
在使用 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
];
所以是的,我更愿意在每一行中采用尾随逗号。