在联调后端接口中,常会涉及到对对象的处理,这里先简单介绍一下关于js对象赋值的相关操作,后续关于对象的处理会再次进行更新的~
常用场景
1. 含有相同的键进行赋值
Object.keys(obj)
2. 复制对象(遍历复制)
for(var i in obj){}
3. 复制对象(直接赋值)
= 会使得新对象变化的时候,原对象也会改变 ==> 浅拷贝
**深拷贝:相当于克隆羊。基本数据类型和所指向的对象都会进行复制,内部实际指向的不是一个对象,所以在做修改时,两者不会同时改变。
**浅拷贝:只会拷贝基本数据类型的值和实际的引用类型,实际上指向还是同一个对象,对基本类型的修改,原对象也会修改
4. Object.assign() 拷贝对象(深拷贝,但没完全深)
发现:
- Object.assign(obj) ==> 浅拷贝
- Object.assign({},obj) ==> 只有第一层是深拷贝