扫码一下
查看教程更方便
ES6 使用代理实现元编程的调解形式。 与 Reflect API 类似,Proxy API 是在 ES6 中实现元编程的另一种方式。 Proxy 对象用于定义基本操作的自定义行为。 代理对象代表真实对象执行一些操作。
下面给出了与 ES6 代理相关的各种术语
序号 | 方法 | 描述 |
---|---|---|
1 | handler | 包含陷阱的占位符对象 |
2 | traps | 提供属性访问的方法。 这类似于操作系统中陷阱的概念 |
3 | target | 代理虚拟化的对象。 它通常用作代理的存储后端。 |
下面所述的语法适用于 Proxy API,其中 target 可以是任何类型的对象,如数组、函数或另一个代理,handler 是一个属性为函数的对象。 这定义了代理的行为。
const proxy = new Proxy(target,handler)
Handler 对象包含代理的陷阱。 所有陷阱都是可选的。 如果未定义陷阱,则默认行为是将操作转发到目标。 一些常用的handler方法如下
序号 | 方法 | 描述 |
---|---|---|
1 | handler.apply() | 函数调用的陷阱。 |
2 | handler.construct() | 构造函数的陷阱。 |
3 | handler.get() | 获取属性值的陷阱。 |
4 | handler.set() | 设置属性值的陷阱。 |
5 | handler.has() | in 运算符的 TA 陷阱。 |