vue 深拷贝和浅拷贝
什么是深拷贝和浅拷贝
深拷贝和浅拷贝只针对像 Object, Array 这样的复杂对象,假设B复制了A,当修改B时,看A是否会发生变化,如果A变了,说明是浅拷贝;如果A没变,那就是深拷贝
<script>
export default {
name: 'index',
data () {
return {
obj: {
name: '深拷贝or浅拷贝',
dec: '测试深拷贝和浅拷贝'
}
}
},
created () {
// 浅拷贝
let obj0 = this.obj
obj.name = '你好'
console.log(this.obj) // obj.name:'你好'
console.log(obj0) // obj0.name:'你好'
// 深拷贝
let obj1 = JSON.parse(JSON.stringify(this.obj))
obj1.name = '你好'
console.log(this.obj) // obj.name:'深拷贝or浅拷贝'
console.log(obj1) // obj1.name:'你好'
}
}
</script>