聊一聊object.definePrototype()

这是用来定义对象属性的里面有三个参数
object.definePrototype(object,属性,描述符)
描述符分两种一个是数据描述符一个是存取描述符
数据描述符{
value:"",
configurable:false不能删除与重新定义,
writeable:true允许修改属性
enumerable:true允许变量循环
}
存取描述符
{
get:function(){
return a
},
set:function(b){
a=b
}
}
可以对比一下proxy
const handle={
get:function(obj,key){
return obj[key]
},
set:function(obj,key,value,myself){
obj[key]=value//myself是proxy本身 还可以结合reflect调用自身方法解决一些数据深入监听
}
}
const q=new Proxy()

你可能感兴趣的:(笔记,js)