1.proxy对象用于创建一个代理,用来对一个对象进行自定义(属性查找,函数调用,赋值,枚举等)和拦截;
2.语法:let b=new proxy(target,handler);
3.target对象,可以是代理的目标对象(可以是原生数组,函数,或者是另一个代理);
4.handler通常是一种以函数为属性的对象,里面的属性函数定义了一些对代理b对象的操作;
5.handler里面的属性函数:
a.handler.getPrototypeOf() 访问对象的原型
b.handler.setPrototypeOf(target,prototype) 为代理对象设置新的原型,返回值为bool值
c.handler.isExtensible(target) 返回一个bool值
d.handler.preventExtensions(target) 返回一个布尔值.
e.handler.getOwnPropertyDescriptor(target,prop) 必须返回一个 object 或 undefined
f.handler.defineProperty(target,property,descriptor) 用于修改·代理对象的属性以及属性名
必须以一个 Boolean 返回,表示定义该属性的操作成功与否
g.handler.has(target,prop) 用于检查是否存在该属性
返回一个 boolean 属性的值.
h.handler.get(target,property,receiver(Proxy或者继承Proxy的对象)) 可以返回任何值
i.handler.set(
JS之proxy代理
最新推荐文章于 2024-05-06 02:38:38 发布