我在javascript函数声明中遇到了似乎关闭的更改。您可以这样做一个函数:
let a = function (b,) {
console.log(b);
}我发现函数参数中的后缀逗号是允许的,因为在以下几个参数之间存在git差异:
let a = function (
b,
) {
console.log(b);
}和
let a = function (
b,
c,
) {
console.log(b);
}git是真正不同的原因,因为它的工作,我相信只有在ECMAScript-2017。
发布于 2019-02-21 12:59:40
git是真正不同的原因,因为它的工作,我相信只有在ECMAScript-2017。
基本上,答案是肯定的。引用原始提案 (粗体文本是我的)
在一些代码基/样式指南中,出现了一些场景,其中函数调用和定义被分割成多行,样式为:
1: function clownPuppiesEverywhere(
2: param1,
3: param2
4: ) { /* ... */ }
5:
6: clownPuppiesEverywhere(
7: 'foo',
8: 'bar'
9: );在这些情况下,当其他代码贡献者出现并将另一个参数添加到这些参数列表中时,必须进行两行更新:
1: function clownPuppiesEverywhere(
2: param1,
3: param2, // updated to add a comma
4: param3 // updated to add new parameter
5: ) { /* ... */ }
6:
7: clownPuppiesEverywhere(
8: 'foo',
9: 'bar', // updated to add a comma
10: 'baz' // updated to add new parameter
11: );在对由版本控制系统(git、subversion、mercurial等)管理的代码进行此更改的过程中,将更新第3和第9行的code /批注代码历史信息,以指向添加逗号的人(而不是最初添加参数的人)。 为了帮助缓解这个问题,其他一些语言(Python、D、Hack、...probably等)添加了语法支持,允许在这些参数列表中使用后缀逗号。允许代码贡献者始终在其中一行参数列表中以尾随逗号结束参数添加,并且不必再担心代码属性问题()。
发布于 2019-02-21 11:16:48
ECMAScript 2017 allows trailing commas in function parameter lists.,来自逗号。
它是由规格允许的。
我不认为这个特性的唯一原因是为了帮助控制系统(如git)跟踪,即使这是一个很好的.
另一个原因是,重新排列项目比较简单,因为如果最后一项更改其位置,则不必添加和删除逗号。据我说,这是主要原因..。在介绍JS之前,我总是问自己为什么JS对我们这些可怜的开发人员如此严格…:-)
https://stackoverflow.com/questions/54805692
复制相似问题