在 ES9 中,新增了一种方便操作对象的方法,即对象的 Rest 和 Spread 操作。这两种操作提供了便捷的对象操作方法,以便更好地优化项目代码。
Rest 操作
Rest 操作是指将环境中的一些属性存储到一个对象上,以方便使用。Rest 操作使用一个类似于函数参数中的省略符的形式来表示。
const person = { name: "Mike", age: 26, location: "New York" }; const { name, ...restOfProperties } = person; console.log(name); // "Mike" console.log(restOfProperties); // { age: 26, location: "New York" }
在上面的代码中,用“...”来表示“剩余属性”,即对于对象中的属性,除了已经分配给变量的属性,其余全部都分配给restOfProperties对象。
Spread 操作
Spread 操作与 Rest 操作相反,它是将对象的属性分散到某个环境中去。Spread 操作使用与 Rest 操作相同的省略符号。
const person = { name: "Mike", age: 26, location: "New York" } const newPerson = { ...person, age: 27 } console.log(newPerson); // { name: "Mike", age: 27, location: "New York" }
在上面的代码中,将person对象展开到新的newPerson对象中。同时,newPerson对象还修改过age属性的值。
总结
结合上面的两个示例,可以看出Rest操作符将一个对象的所有属性存储到一个对象中,而Spread操作符则将对象的所有属性分散到多个对象中。
这两个操作符可以帮助我们更方便地对对象进行操作,尤其是在实现深拷贝、合并对象等方面具有十分重要的意义。同时,这两个操作符也是 ES9 新增的一个重要特性,学好使用这两个操作符,可以使我们的代码更加简洁、优美。
参考资料
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/648802a448841e9894684bf0