如何创建一个副本在Javascript中吗?

现代Javascript开发人员使用下面的语法来创建对象的一个副本:

             
             
对象复制= {…};
代码语言:JavaScript(javascript)

虽然这种方法工作很好,它会创建一个浅拷贝的对象,而不是一个成熟的克隆,也重复嵌套对象和数组。

因此,执行Javascript开发人员学到的另一个把戏深拷贝:

             
复制=JSON.parse (JSON.stringify(对象));
代码语言:JavaScript(javascript)

这种方法的思想是将一个对象转变为一个JSON字符串解析该字符串之前回一个全新的对象。它的工作原理,但它不是优雅,看起来像一个黑客。

因此,一个更好的方法添加到Javascript语言:structuredClone函数。这是一个语法改进创造深克隆效率:

             
复制= structuredClone(对象);
代码语言:JavaScript(javascript)

最近在所有主要的浏览器支持的功能如图所示我可以用:

如果您需要支持另一个浏览器,有一个polyfill实现core.js

betway必威滚球

阿兰是一个谷歌开发者网络技术专家,角,谷歌地图。他每天的任务就是帮助开发团队采用角和与该框架建立在规模。他教会了角六大洲!世界旅行和摄影师,阿兰也是一个国际会议的演讲者,和出版了好几视频课程。