obj.b.e = obj.b.c;
let newObj2 = Object.assign({ obj);
console.log(newObj2);
结果:
Object.assign()适用于浅拷贝circular对象 , 但不适用于深拷贝 。
使用展开运算符(…)
ES6已经实现了用于数组解构赋值的rest元素和用于数组字面量的展开运算符 。 数组的展开运算符实现如下:
const array = [
\"a\"
\"c\"
\"d\" {
four: 4
;
const newArray = [...array
;
console.log(newArray);
// Result
// [\"a\" \"c\" \"d\" { four: 4
对象初始值设定项中的扩展属性将自己的可枚举属性从源对象复制到目标对象 。 如果ECMAScript的Stage 3提案接受的话 , 那么复制对象变得非常容易:
let obj = {
one: 1
two: 2
let newObj = { ...obj ;
// { one: 1 two: 2
总结
希望通过本文能帮助大家理解并避免将来可能遇到的复制对象的陷阱 。 尤其是对JavaScript刚学习的新手而言 。
- 客服|广州网店为什么与客服外包服务平台合作?
- 企业|我国超八成企业开始数字化转型 近七成采用大数据技术
- 数字化转型|撤离中国市场!美国科技巨头已全面关店,居然被一个剃须刀击败
- 酷睿处理器|荣耀X40引领千元全面屏,OPPO新机开始转型,真我10系列颜值高
- 电子商务|双十一“失去”GMV,电商进入转型期
- 双十一|数字化“置身事内”,双11试验场正在治愈行业的精神內耗
- 高效助力数字化办公,华为Mate50系列超级中转站功能让效率翻倍
- 本文转自:中国文化报本报讯 文化和旅游部于今年2月面向全国启动数字化创新实践案例征集工...|文旅行业数智化 科技赋能展新颜
- 中国国际进口博览会|进博会预演的美好未来:高科技、数字化、更绿色、有温度
- 李阳|李阳疯狂英语培训中心改名:转型摄影