# 1. js 的拷贝
- js 的浅拷贝
TIP
对象的 Object.assign(),数组的 Array.prototype.slice() 和 Array.prototype.concat(),还有 ES6 的扩展运算符,_.clone 都属于浅拷贝
//对象,数组的深拷贝
var a = { ...aa };
var b = [...bb];
- js 的深拷贝
深拷贝(深克隆)指拷贝所有的属性值,以及属性地址指向的值的内存空间。
- JSON.parse(JSON.stringify(obj)),但这种方法有两个问题:
- 这种方式只能深拷贝对象和数组,对于其他种类的对象,会失真。
- 同时由于 JSON 内部用了递归的方式。数据一但过多,就会有递归爆栈的风险。
- cloneDeep 方法
- JSON.parse(JSON.stringify(obj)),但这种方法有两个问题:
# 2. js 接口防重复
# 3. super(props)和 super()
- super(props)初始化实例,并赋值 props
- super()不加 props,会在实例对象身上加上 props 属性
# 参考
← javascript基础 js原型 →