- 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 - Reflect API
ES6 引入了围绕元编程的新特性,元编程涉及检查或修改程序的结构,或更改语言本身的工作方式。
以下是三种元编程形式:
内省 - 内省是指程序收集自身信息。一些用于内省的 JavaScript 运算符示例是typeof、instanceof等。
自我修改 - 自我修改是指在运行时修改程序的结构。它涉及在运行时访问或创建新属性。换句话说,自我修改是指某些代码修改自身。
干预 - 指代码修改编程语言的默认行为。干预涉及修改编程语言的语义或在运行时向程序添加新的构造。
ES6 引入了 Reflect 应用程序编程接口 (Reflect API) 和 Proxy API 来支持元编程。
使用 Reflect API 进行元编程
ES6 中的 Reflect API 允许我们在运行时检查或修改程序的类、对象、属性和方法。Reflect API 提供全局 Reflect 对象,该对象具有可用于内省的静态方法。这些方法用于发现有关代码的底层信息。Reflect API 可用于构建在运行时检查和内省程序的自动化测试框架。
下面列出了一些常用的 Reflect 对象方法:
序号 | 方法和描述 |
---|---|
1 |
Reflect.apply()
使用 args 参数中指定的参数调用目标函数 |
2 |
Reflect.construct()
等效于调用 new target(...args) 类对象 |
3 |
Reflect.get()
返回属性值的函数。 |
4 |
Reflect.set()
为属性赋值的函数。返回一个布尔值,如果更新成功则为 true。 |
5 |
Reflect.has()
in 运算符作为函数。返回一个布尔值,指示是否存在自己的属性或继承的属性。 |
广告