什么是 Object Rest/Spread Properties
在 JavaScript 中,Object 是一个非常常用的数据类型,它可以用来表示一个对象。Object Rest/Spread Properties 是一种 ES6 的语法特性,可以让我们更方便地操作 Object。
Object Rest/Spread Properties 具体来说,就是使用 ...
符号来对 Object 进行操作。当我们在对象字面量中使用 ...
时,我们就可以将一个对象展开成多个值,或将多个值合并成一个对象。
Object Rest Properties
Object Rest Properties 允许我们从一个对象中提取除了某些属性外的所有属性,并将它们存储在一个新的对象中。这个新的对象可以用来进行进一步的操作。
----- ------ - - ----- -------- ---- --- ------- --------- -------- - ----- ----------- --------- --------- ------- -------- ------- - -- ----- - ----- ------- - - ------- ------------------ -- ------- ------------------ -- - ---- --- ------- --------- -------- - ----- ----------- --------- --------- ------- -------- ------- - -
在上面的例子中,我们使用了 Object Rest Properties,将 person
对象中的 name
属性提取出来,并将剩余的属性存储在 rest
对象中。
Object Spread Properties
Object Spread Properties 允许我们将一个对象展开成多个值,并将它们合并到一个新的对象中。这个新的对象可以用来进行进一步的操作。
----- ------ - - ----- -------- ---- --- ------- --------- -------- - ----- ----------- --------- --------- ------- -------- ------- - -- ----- --------- - - ---------- ---- --- -------- - ------------------ ------- --------- ---- ----- - -- ----------------------- -- - ----- -------- ---- --- ------- --------- -------- - ----- ----------- --------- --------- ------- --------- ---- ----- - -
在上面的例子中,我们使用了 Object Spread Properties,将 person
对象展开成多个值,并将它们合并到 newPerson
对象中。同时,我们修改了 age
和 address
属性的值。
ES9 实现
Object Rest/Spread Properties 是 ES6 的语法特性,但在 ES9 中,它们得到了进一步的改进和完善。在 ES9 中,我们可以使用 Object Rest/Spread Properties 来操作数组,而不仅仅是对象。
----- --- - --- -- -- -- --- ----- ------- ------- -------- - ---- ------------------- -- - -------------------- -- - ------------------ -- --- -- -- ----- ------ - --- ------- --- -------------------- -- --- -- -- -- -- -- --
在上面的例子中,我们使用了 Object Rest/Spread Properties 操作了数组。我们使用了 Object Rest Properties 将 arr
数组中的前两个元素提取出来,并将剩余的元素存储在 rest
数组中。同时,我们使用了 Object Spread Properties 将 arr
数组展开成多个值,并将它们合并到 newArr
数组中。
总结
Object Rest/Spread Properties 是一种非常有用的语法特性,可以让我们更方便地操作 Object 和数组。在 ES9 中,它们得到了进一步的改进和完善,可以用来操作数组。掌握这些语法特性,可以让我们更加高效地编写 JavaScript 代码。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65ded7761886fbafa4c1c319