# 1. js 的拷贝

  • js 的浅拷贝

TIP

对象的 Object.assign(),数组的 Array.prototype.slice() 和 Array.prototype.concat(),还有 ES6 的扩展运算符,_.clone 都属于浅拷贝

//对象,数组的深拷贝
var a = { ...aa };
var b = [...bb];
  • js 的深拷贝 深拷贝(深克隆)指拷贝所有的属性值,以及属性地址指向的值的内存空间。
    1. JSON.parse(JSON.stringify(obj)),但这种方法有两个问题:
      • 这种方式只能深拷贝对象和数组,对于其他种类的对象,会失真。
      • 同时由于 JSON 内部用了递归的方式。数据一但过多,就会有递归爆栈的风险。
    2. cloneDeep 方法

# 2. js 接口防重复

# 3. super(props)和 super()

  • super(props)初始化实例,并赋值 props
  • super()不加 props,会在实例对象身上加上 props 属性

# 参考

js 对象拷贝