代理(Proxy)和反射(Reflection)

代理(Proxy)

Proxy 对象用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等)

术语(term)

  • handler

    包含陷阱(traps)的占位符对象。

  • traps

    提供属性访问的方法。这类似于操作系统中捕获器的概念。

  • target

    代理虚拟化的对象。它通常用作代理的存储后端。根据目标验证关于对象不可扩展性或不可配置属性的不变量(保持不变的语义)。

语法(syntax)

let p = new Proxy(target, handler);

参数

  • target

    • Object | Array | Function | Proxy

    • 用Proxy包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。

  • handler

    • Object

    • 一个对象,其属性是当执行一个操作时定义代理的行为的函数。

方法(function)

  • Proxy.revacable()

    创建一个可撤销的Proxy对象

handler 对象的方法

handler 对象是一个占位符对象,它包含Proxy的捕获器。

示例(example)

反射(Reflection)

引用

Last updated