概述:
在不改变原本的类的基础上,对于对象进行功能加强,代理模式代理出来的是对象.(代理模式低耦合)
示例
你家里需要装修 但是你不想动手 这个时候你就会找一个装修队(代替你进行装修)
代理对象和被代理对象是俩个不同的对象,但是实际操作的内容是一个
核心关键词
被代理对象
你
代理对象
装修对象
操作内容 你家的房子
代理的实现
在js中 es7新增了一个Proxy的类 这个类专门是用来做代理的 所以我们只需要掌握这个类的使用就
ok了
Proxy的使用
新建代理对象(通过proxy的构造)
基础使用
proxy的处理对象的四大熟悉
get 放回属性的时候调用
set 设置属性的时候调用
defineProperty定义属性的时候调用
deleteProperty删除属性的时候调用
总结
Proxy是一个es7新增的一个类 他返回的是一个对象
Proxy里面传入被代理对象和对应的处理对象
处理对象包含4个方法(get set defineProperty deleteProperty)
Proxy里面实际操作是被代理对象 (如果在里面操作代理对象会造成栈溢出)
代理对象和被代理对象不是一个对象 但是操作的内容是一个都是被代理对象
Proxy是vue3的底层实现之一