如何使用结构化克隆(structuredClone)来深度复制JavaScript对象

87 阅读1分钟

深度复制一个JavaScript变量的现代方法

多年来,我们不得不使用奇怪的变通方法来做一个JavaScript对象的深度复制

其中有很多是容易出错的。

比如做JSON.parse(JSON.stringify(obj)) ,有些类型会被忽略。

或者更糟的是,通过引用来复制对象的属性,从而引入了一些错误。

今天我们有了structuredClone() ,它是DOM API的一部分。

它不是JavaScript的一部分,它是DOM API的一部分。

它在所有现代浏览器的最新版本中都可用:

它在Node.js 17+中也是可用的。