ES8(2017)尾逗号 Trailing commas

Posted 优小U

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES8(2017)尾逗号 Trailing commas相关的知识,希望对你有一定的参考价值。

ES8 允许函数的最后一个参数有尾逗号(Trailing comma)。

此前,函数定义和调用时,都不允许最后一个参数后面出现逗号。

function aa(
	param1, 
	param2
){
}

aa(
	'foo', 
	'bar'
)

上面代码中,如果在param2bar后面加一个逗号,ES8之前就会报错。

如果像上面这样,将参数写成多行(即每个参数占据一行),以后修改代码的时候,想为函数aa添加第三个参数,或者调整参数的次序,就势必要在原来最后一个参数后面添加一个逗号。这对于版本管理系统来说,就会显示添加逗号的那一行也发生了变动。这看上去有点冗余,因此新的语法允许定义和调用时,尾部直接有一个逗号。

function aa(
	param1, 
	param2,
){
}

aa(
	'foo', 
	'bar',
)

这样的规定也使得,函数参数与数组和对象的尾逗号规则,保持一致了。

var arr = [
  1,
  2,
  3,
];

arr; // [1, 2, 3]
arr.length; // 3

var object = {
  foo: "bar",
  baz: "qwerty",
  age: 42,
};

JSON 不允许尾后逗号。

以上是关于ES8(2017)尾逗号 Trailing commas的主要内容,如果未能解决你的问题,请参考以下文章

Factorial Trailing Zeroes 阶乘尾零

es8 --- 新特性

CABAC与CAVLC有什么区别?

ECMAScript 2017(ES8)新特性简介

ES8(ECMAScript 2017) 语言规范发布,附ES6,ES7,ES8规范文档下载

ECMAScript 2017(ES8) 语言规范发布