深浅拷贝主要是针对于引用类型而言的
序列化的作用是存储(对象本身存储的只是一个地址映射,如果断电,对象将不复存在,
因此需将对象的内容转换成字符串的形式再保存在磁盘上 ).
传输(例如 如果请求的Content-Type 是 application/x-www-form-urlencoded,
则前端这边需要使用qs.stringify(data)来序列化参数再传给后端,否则后端接受不到;
JSON.stringify()
该方法用于将一个字转换为JSON字符串,该字符串符合JSON格式,并且可以被JSON.parse()方法还原。
JSON.parse()
引入lodash 工具库,调用 deepclone 进行深拷贝
const original = { name: "MDN" };
original.itself = original;
// Clone it
const clone = structuredClone(original);
let arr = [{name:'bruce'},1,2,3]
let newArr = arr.slice()
// 由于数组内部属性值为引用对象,因此使用slice和concat对对象数组的拷贝,整个拷贝还是浅拷贝,
// 拷贝之后数组各个值的指针还是指向相同的存储地址。
let newArr2 = [...arr]
Object.assign()
本文列举深浅拷贝的几种方法