Js基础类型和引用类型,深拷贝,浅拷贝

133 阅读1分钟

基础类型

string,boolean,number,symbol,null,undefined;基础类型是放在栈中

引用类型

Object,Function,Array,Date, Error;引用类型的地址是放在栈中的,地址中的对象是放在堆中的

浅拷贝&深拷贝

浅拷贝&与深拷贝都是引用类型的拷贝,对象都是又是属性和值的,值是引用类型或者基础类型

  • 浅拷贝是针对引用类型的,仅拷贝对象中基础类型如果对象中的值引用类型的话,只会拷贝地址,两者用同一个地址,例如:
    扩展操作符
    Object.assign()
  • 深拷贝是针对引用类型的,重新开辟内存,拷贝基础类型和引用类型,例如:
    JSON.parse(JSON.stringfy(ojb))
    lodash中的clone