js深拷贝

木头的喵喵拖孩
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* 克隆一个对象
* @param {Object} obj
* @returns
*/
export function clone(obj) {
let cloneObj;
// 优先尝试 structuredClone,失败后再使用 JSON.parse(JSON.stringify())
try {
cloneObj = structuredClone(obj);
} catch (err) {
cloneObj = JSON.parse(JSON.stringify(obj));
}
return cloneObj;
}

javascript 深拷贝一般要涉及到函数递归操作,和掌握各种基本类型和引用类型,还有考虑递归引用等问题。

如果单纯为了实用性,上面这个实现就是最好的了。

以后有时间再搞一个看着牛逼的版本。

  • 标题: js深拷贝
  • 作者: 木头的喵喵拖孩
  • 创建于: 2024-10-29 16:50:55
  • 更新于: 2024-10-29 17:03:27
  • 链接: https://blog.xx-xx.top/2024/10/29/js深拷贝/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
此页目录
js深拷贝