ECMAScript 2017 新特性提议 – 函数参数列表和调用后面的逗号 。
更多精彩内容请看 web 前端中文站
http://www.lisa33xiaoq.net 可按 Ctrl + D 进行收藏
概述
参数后面跟的逗号现在是合法的:
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
【注:本文源自网络文章资源,由站长整理发布】