ES2017 新特性之 Trailing Commas 语法

在 ES2017 中,JavaScript 引入了一个新的语法——Trailing Commas。这个语法允许在对象和数组的最后一个元素后面添加一个逗号,而不会引起语法错误。这个特性看起来很小,但它可以为编写清晰、易于维护的代码提供很大的帮助。

什么是 Trailing Commas

Trailing Commas 是指在对象或数组最后一个元素后面添加一个逗号。例如,在以下对象中添加逗号:

----- ------ - -
  ----- --------
  ---- --- -- -------
--

在 ES5 中,上述代码会引起语法错误。但在 ES2017 中,这样的代码是合法的。

同样的,我们也可以在数组的最后一个元素后面添加逗号:

----- --- - --- -- ---- -- -------

Trailing Commas 的优势

在编写代码时,Trailing Commas 有以下几个优势:

1. 更容易添加、删除和移动元素

当你需要添加、删除或移动一个对象或数组中的元素时,Trailing Commas 可以让你更容易地修改代码。例如,在以下对象中添加一个属性:

----- ------ - -
  ----- --------
  ---- ---
--

如果你想在 agegender 之间添加一个属性,你需要在 age 的后面加上逗号:

----- ------ - -
  ----- --------
  ---- ---
  ------- --------- -- -------
--

如果你没有使用 Trailing Commas,你需要在 age 的后面删除逗号,然后在 gender 的后面添加一个逗号。这样做很容易出错,特别是当你需要修改多个对象或数组时。

2. 更容易阅读和维护代码

Trailing Commas 可以使代码更易于阅读和维护。例如,在以下数组中,每个元素都占据了一行:

----- --- - -
  --
  --
  --
--

如果你想添加一个新元素,你只需要在最后一个元素的后面添加一个逗号:

----- --- - -
  --
  --
  --
  -- -- -------
--

这样做可以让你更容易地看出哪个元素是最后一个,而不需要仔细计算每个元素的位置。

3. 避免不必要的代码更改

在 ES5 中,如果你想在对象或数组的最后一个元素后面添加一个新元素,你需要在最后一个元素的后面删除逗号,然后在新元素的前面添加一个逗号。这样做可能会导致不必要的代码更改,特别是当你需要修改多个对象或数组时。

使用 Trailing Commas 可以避免这种情况,因为你不需要删除或添加逗号。

Trailing Commas 的限制

尽管 Trailing Commas 可以为编写清晰、易于维护的代码提供帮助,但它也有一些限制:

1. IE 不支持

在 IE 中,Trailing Commas 会引起语法错误。如果你的代码需要在 IE 中运行,你需要避免使用 Trailing Commas。

2. 赋值语句中不支持

在赋值语句中,Trailing Commas 会引起语法错误。例如,在以下代码中,添加逗号会引起语法错误:

----- ------ - -
  ----- --------
  ---- ---
---- -------

------------- - ---------

如果你需要在赋值语句中使用 Trailing Commas,你需要使用括号将对象或数组包裹起来:

----- ------ - --
  ----- --------
  ---- ---
------ -------

------------- - ---------

结论

Trailing Commas 是一个小的语法特性,但它可以为编写清晰、易于维护的代码提供很大的帮助。如果你的代码不需要在 IE 中运行,并且你不需要在赋值语句中使用 Trailing Commas,你可以考虑在你的代码中使用它。下面是一个示例代码:

----- ------ - -
  ----- --------
  ---- ---
  ------- --------- -- -------
--

----- --- - -
  --
  --
  --
  -- -- -------
--

希望这篇文章对你有所帮助!

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/673dd9ea90e7ed93bee0d3ab