proxy的set返回false,在这种情况下为什么代理对象依然还是能被写

来源:2-50 Schema Validation(1)

张忠全

2019-11-13

let obj = {
	name: 'tianjing',
	info: { age: 32},
	price: 190 
}  
let d = new Proxy(obj, { 
    get(target, key) { 
       return target[key]     
    },     
    set(target, key, value) { 
        return false     
    } 
}) 
d.info.age = 500   
console.log(d.info.age) //500

proxy是否可以做浅拷贝,不能做深拷贝?

写回答

1回答

快乐动起来呀

2019-11-20

同学这里就是引用类型和值类型的区别,info是对象,是引用类型只保存这个内存的首地址,改变对象里面的属性值并不会改变这个首地址所有就没有触发set

0
2
快乐动起来呀
回复
Roopher
对,是得用递归
2019-11-21
共2条回复

再学JavaScript ES(6-10)全版本语法大全

前端无门槛学习,从ES6到ES10,一套课程掌握JS最新语法

1182 学习 · 336 问题

查看课程