文章预览
作者 | dev 来源 | 大迁世界 在JavaScript和TypeScript开发中,对象的深度克隆是一个常见但容易被误解的话题。本文将探讨几种常用的克隆方法,揭示它们的局限性,并介绍真正有效的深度克隆技术。 常见误区:展开运算符和Object.create() 许多开发者习惯使用展开运算符 {...} 或 Object.create() 来克隆对象,但这些方法实际上只能进行浅拷贝。 展开运算符的局限性: const original = { name : "John" , address : { city : "New York" } }; const clone = { ...original }; clone.address.city = "Los Angeles" ; console .log(original.address.city); // 输出: "Los Angeles" Object.create() 的问题: const original = { name : "John" , address : { city : "New York" } }; const clone = Object .create(original); clone.address.city = "Chicago" ; console .log(original.address.city); // 输出: "Chicago" 这两种方法都无法实现
………………………………