站长资讯网
最全最丰富的资讯网站

es6三个点是深拷贝吗

es6中三个点是否是深拷贝:1、当元素是一层数组或是对象时,也即元素只是简单类型的元素,那么三个点此时是深拷贝;2、当数组或对象的元素是引用类型的元素时,三个点是浅拷贝。

es6三个点是深拷贝吗

本教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。

es6三个点是深拷贝吗

扩展运算符既不是深拷贝,也不是浅拷贝。一半一半,他只能深拷贝第一层。第二层的拷贝还是浅拷贝

  • 如果只是一层数组或是对象,其元素只是简单类型的元素,那么属于深拷贝(就是一层拷贝,暂时就理解为深拷贝吧!!!!)

  • 如果数组或对象中的元素是引用类型的元素,那么就是浅拷贝

一层数组或是对象,其元素只是简单类型的元素

let aa = { age: 18, name: 'aaa' } let bb = {...aa}; bb.age = 22; console.log(aa.age); // 18

数组或对象中的元素是引用类型的元素

let aa = { age: 18, name: 'aaa', address: { city: 'shanghai' } } let bb = {...aa}; bb.address.city = 'shenzhen'; console.log(aa.address.city);  // shenzhen

如何使得深拷贝

es6三个点是深拷贝吗

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号