在 ES9 中,为了更方便地处理 JavaScript 对象,新增了对象 Rest 和 Spread 功能。这些功能不仅可以让开发者更方便地处理对象,还可以提高开发效率和代码可读性。
Rest
Rest 操作符(...)可以将对象(或数组)的剩余属性(或元素)合并为一个数组。
Syntax
let { prop1, prop2, ...rest } = obj;
其中,prop1
和 prop2
是对象 obj
的属性名,剩余属性将被合并到 rest
数组中。
示例
-- -------------------- ---- ------- ----- --- - - -- -- -- -- -- -- -- - -- ----- - -- -- ------- - - ---- -------------- -- ------ -- - - - -- -- -- - -展开代码
在上面的例子中,我们从 obj
中解构了 a
和 b
,并将剩余属性合并到 rest
数组中。
Spread
Spread 操作符(...)可以将一个对象(或数组)的所有属性(或元素)展开到另一个对象(或数组)中。
Syntax
let newObj = { ...obj1, ...obj2 };
其中,obj1
和 obj2
分别是要合并的对象。
示例
-- -------------------- ---- ------- ----- ---- - - -- -- -- - -- ----- ---- - - -- -- -- - -- ----- ------ - - -------- ------- -- -------------------- -- - -- -- -- -- -- -- -- - -展开代码
在上面的例子中,我们将 obj2
中的所有属性展开到 obj1
中,得到了一个新的对象 newObj
,其中包括了两个对象的所有属性。
总结
Rest 和 Spread 操作符是 ES9 中非常实用的功能,它们能够让开发者更方便地处理对象,提高开发效率和代码可读性。
在项目中,我们可以利用这些功能对对象进行自由变化和组合,实现更加复杂的功能需求。
参考文献
- ES6 In Depth: Rest parameters and defaults - Mozilla
- ES6 In Depth: Spread syntax - Mozilla
- ECMAScript 2018 Language Specification
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6479bb63968c7c53b05b3993