es6三个点是深拷贝吗

es6三个点是深拷贝吗,第1张

es6三个点是深拷贝吗

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

本教程 *** 作环境: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

如何使得深拷贝

【相关推荐:javascript视频教程、web前端】

以上就是es6三个点是深拷贝吗的详细内容,

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/697874.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-22
下一篇 2022-04-22

发表评论

登录后才能评论

评论列表(0条)

保存