- ES6 教程
- ES6 - 首页
- ES6 - 概述
- ES6 - 环境
- ES6 - 语法
- ES6 - 变量
- ES6 - 运算符
- ES6 - 决策
- ES6 - 循环
- ES6 - 函数
- ES6 - 事件
- ES6 - Cookie
- ES6 - 页面重定向
- ES6 - 对话框
- ES6 - void 关键字
- ES6 - 页面打印
- ES6 - 对象
- ES6 - 数字
- ES6 - 布尔值
- ES6 - 字符串
- ES6 - Symbol
- ES6 - 新的字符串方法
- ES6 - 数组
- ES6 - 日期
- ES6 - 数学
- ES6 - 正则表达式
- ES6 - HTML DOM
- ES6 - 迭代器
- ES6 - 集合
- ES6 - 类
- ES6 - Map 和 Set
- ES6 - Promise
- ES6 - 模块
- ES6 - 错误处理
- ES6 - 对象扩展
- ES6 - Reflect API
- ES6 - Proxy API
- ES6 - 验证
- ES6 - 动画
- ES6 - 多媒体
- ES6 - 调试
- ES6 - 图片地图
- ES6 - 浏览器
- ES7 - 新特性
- ES8 - 新特性
- ES9 - 新特性
- ES6 有用资源
- ES6 - 快速指南
- ES6 - 有用资源
- ES6 - 讨论
ES6 - Proxy API
ES6 使用 Proxy 实现了一种元编程的拦截形式。与 Reflect API 类似,Proxy API 是在 ES6 中实现元编程的另一种方式。Proxy 对象用于为基本操作定义自定义行为。代理对象代表实际对象执行某些操作。
下面列出了与 ES6 代理相关的各种术语
序号 | 方法和描述 |
---|---|
1 | handler 包含陷阱的占位符对象 |
2 | traps 提供属性访问的方法。这类似于操作系统中陷阱的概念 |
1 | target 代理虚拟化的对象。它通常用作代理的后端存储。 |
语法
下面是 Proxy API 的语法,其中,target 可以是任何类型的对象,例如数组、函数或另一个代理,而 handler 是一个其属性为函数的对象。这定义了代理的行为。
const proxy = new Proxy(target,handler)
Handler 方法
handler 对象包含 Proxy 的陷阱。所有陷阱都是可选的。如果未定义陷阱,则默认行为是将操作转发到 target。一些常见的 handler 方法如下:
序号 | 方法和描述 |
---|---|
1 |
handler.apply()
函数调用的陷阱。 |
2 |
handler.construct()
new 运算符的陷阱。 |
3 |
handler.get()
获取属性值的陷阱。 |
4 |
handler.set()
设置属性值的陷阱。 |
5 |
handler.has()
in 运算符的陷阱。 |
广告