您的位置:首页 » 分类: JavaScript & ES2015 (ES6) » 文章: ES2017 函数参数列表和调用后面的逗号

ES2017 函数参数列表和调用后面的逗号

小编推荐:掘金是一个高质量的技术社区,从 ECMAScript 6 到 Vue.js,性能优化到开源类库,让你不错过前端开发的每一个技术干货。各大应用市场搜索「掘金」即可下载APP,技术干货尽在掌握..

ECMAScript 2017 新特性提议 – 函数参数列表和调用后面的逗号

概述

参数后面跟的逗号现在是合法的:

function foo(
    param1,
    param2,
) {}

同样,函数调用时参数后面跟的逗号也是合法的:

foo(
    'abc',
    'def',
);

对象字面量和数组字面量后面跟的逗号

对象字面量后面跟的逗号会被忽略:

let obj = {
    first: 'Jane',
    last: 'Doe',
};

数组字面量后面跟的逗号也会被忽略:

let arr = [
    'red',
    'green',
    'blue',
];
console.log(arr.length); // 3

为什么要这么做,有什么用? 有两个好处。

首先,重新排列元素项比较简单,如果你要改变最后一个元素项的位置,你不必添加和删除逗号。

其次,它帮助版本控制系统跟踪实际发生的变化。例如,从:

[
    'foo'
]

修改为:

[
    'foo',
    'bar'
]

这么做,版本控制系统会标记 foo 行和 bar 行为已更改,尽管唯一真正的变化是添加了后面的一行。

特性:允许在参数定义和函数调用后面使用逗号

考虑到 后面跟的逗号 可选的和可忽略的好处,这个特性也被引入到了函数参数定义和函数参数调用中。

例如,以下函数声明在 ECMAScript 2015(ES6) 中会导致语法错误,但现在 ECMAScript 2017(ES8) 是合法的:

function foo(
    param1,
    param2,
) {}

类似地,下面这个调用foo() 现在在语法上也是合法的:

foo(
    'abc',
    'def',
);

原文链接:http://exploringjs.com/es2016-es2017/ch_trailing-comma-parameters.html

正文完。下面还有一个推广让最好的人才遇见更好的机会!

互联网行业的年轻人,他们面对着怎样的职业瓶颈、困惑与未来选择?过去,这鲜有人关心。资深的职场人,也多半优先选择熟人去推荐机会。

100offer致力于改变现状,帮互联网行业最好的人才发现更好的机会。使用 100offer.com 或 100offer App ,可以一周内获得中国、美国等数千家优质企业的工作机会。

马上去遇见更好的机会
推广结束

关注WEB前端开发官方公众号

关注国内外最新最好的前端开发技术干货,获取最新前端开发资讯,致力于打造高质量的前端技术分享公众号

发表评论

电子邮件地址不会被公开。 必填项已用*标注