关于ES6中推荐最后一个对象成员以逗号结尾的疑问?

最近在看阮神的ES6入门,其中编程风格一章中推荐多行对象中的最后一个成员应该以逗号结尾。这样不是跟json的书写格式背道而驰,转换的时候也容易产生错误,为什么要这么推荐呢?

出自ES6入门一书:请输入代码单行定义的对象,最后一个成员不以逗号结尾。多行定义的对象,最后一个成员以逗号结尾。

// bad
const a = { k1: v1, k2: v2, };
const b = {
  k1: v1,
  k2: v2
};

// good
const a = { k1: v1, k2: v2 };
const b = {
  k1: v1,
  k2: v2,
阅读 9.5k
4 个回答

其实按照日常习惯来说,多行的json,如果想要在最后添加一个元素,就势必要在原来的最后一行后面增加一个逗号。
ES6中这样推荐是由于,很多程序猿对于加一个数值却要产生两行change感到浑身难受。
就现在来说,js中的json最后有逗号是没有关系,但是json文件中是不行。
ES7中,也有推荐以逗号开头的写法。

这是一种规范,推荐使用这样的方法写,这样,你新添加对象属性的时候,不用再写逗号了
而且这样,JSON.stringify也可以解析

其实就为了后面写代码方便...

推荐问题