现代Javascript开发人员使用下面的语法来创建对象的一个副本:
让对象复制= {…};
代码语言:JavaScript(javascript)
虽然这种方法工作很好,它会创建一个浅拷贝的对象,而不是一个成熟的克隆,也重复嵌套对象和数组。
因此,执行Javascript开发人员学到的另一个把戏深拷贝:
让复制=JSON.parse (JSON.stringify(对象));
代码语言:JavaScript(javascript)
这种方法的思想是将一个对象转变为一个JSON字符串解析该字符串之前回一个全新的对象。它的工作原理,但它不是优雅,看起来像一个黑客。
因此,一个更好的方法添加到Javascript语言:structuredClone
函数。这是一个语法改进创造深克隆效率:
让复制= structuredClone(对象);
代码语言:JavaScript(javascript)
最近在所有主要的浏览器支持的功能如图所示我可以用:

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