首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么javascript允许在函数参数的末尾添加逗号?

为什么javascript允许在函数参数的末尾添加逗号?
EN

Stack Overflow用户
提问于 2019-02-21 11:11:07
回答 2查看 583关注 0票数 2

我在javascript函数声明中遇到了似乎关闭的更改。您可以这样做一个函数:

代码语言:javascript
复制
let a = function (b,) {
    console.log(b);
}

我发现函数参数中的后缀逗号是允许的,因为在以下几个参数之间存在git差异:

代码语言:javascript
复制
let a = function (
    b,
) {
    console.log(b);
}

代码语言:javascript
复制
let a = function (
    b,
    c,
) {
    console.log(b);
}

git是真正不同的原因,因为它的工作,我相信只有在ECMAScript-2017。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-21 12:59:40

git是真正不同的原因,因为它的工作,我相信只有在ECMAScript-2017。

基本上,答案是肯定的。引用原始提案 (粗体文本是我的)

在一些代码基/样式指南中,出现了一些场景,其中函数调用和定义被分割成多行,样式为:

代码语言:javascript
复制
 1: function clownPuppiesEverywhere(
 2:   param1,
 3:   param2
 4: ) { /* ... */ }
 5: 
 6: clownPuppiesEverywhere(
 7:   'foo',
 8:   'bar'
 9: );

在这些情况下,当其他代码贡献者出现并将另一个参数添加到这些参数列表中时,必须进行两行更新

代码语言:javascript
复制
 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等)添加了语法支持,允许在这些参数列表中使用后缀逗号。允许代码贡献者始终在其中一行参数列表中以尾随逗号结束参数添加,并且不必再担心代码属性问题()。

票数 2
EN

Stack Overflow用户

发布于 2019-02-21 11:16:48

ECMAScript 2017 allows trailing commas in function parameter lists.,来自逗号

它是由规格允许的。

我不认为这个特性的唯一原因是为了帮助控制系统(如git)跟踪,即使这是一个很好的.

另一个原因是,重新排列项目比较简单,因为如果最后一项更改其位置,则不必添加和删除逗号。据我说,这是主要原因..。在介绍JS之前,我总是问自己为什么JS对我们这些可怜的开发人员如此严格…:-)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54805692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档