- ES6 教程
- ES6 - 主页
- ES6 - 概述
- ES6 - 环境
- ES6 - 语法
- ES6 - 变量
- ES6 - 运算符
- ES6 - 决策
- ES6 - 循环
- ES6 - 函数
- ES6 - 事件
- ES6 - Cookie
- ES6 - 页面重定向
- ES6 - 对话框
- ES6 - 无效关键字
- ES6 - 页面打印
- ES6 - 对象
- ES6 - 数字
- ES6 - 布尔值
- ES6 - 字符串
- ES6 - 符号
- ES6 - 新的字符串方法
- ES6 - 数组
- ES6 - 日期
- ES6 - 数学
- ES6 - 正则表达式
- ES6 - HTML DOM
- ES6 - 迭代器
- ES6 - 集合
- ES6 - 类
- ES6 - 地图和集合
- ES6 - 承诺
- ES6 - 模块
- ES6 - 错误处理
- ES6 - 对象扩展
- ES6 - 反射 API
- ES6 - 代理 API
- ES6 - 验证
- ES6 - 动画
- ES6 - 多媒体
- ES6 - 调试
- ES6 - 图像映射
- ES6 - 浏览器
- ES7 - 新特性
- ES8 - 新特性
- ES9 - 新特性
- ES6 有用资源
- ES6 - 快速指南
- ES6 - 有用的资源
- ES6 - 讨论
ES6 - 反射 API
ES6 引入了围绕元编程的新功能,其中涉及检查或修改程序的结构,或更改语言本身的工作方式。
以下是元编程的三种形式 -
内省- 内省意味着程序收集有关自身的信息。用于自省的 JavaScript 运算符的一些示例包括typeof、instanceof等。
自修改- 自修改是指在运行时修改程序的结构。它涉及在运行时访问或创建新属性。换句话说,自修改是指某些代码修改自身。
调解- 是指修改编程语言的默认Behave的代码。调解涉及修改编程语言的语义或在运行时向程序添加新的结构。
ES6引入了Reflect应用程序编程接口(Reflect API)和支持元编程的Proxy API。
使用 Reflect API 进行元编程
ES6 中的 Reflect API 允许我们在运行时检查或修改程序的类、对象、属性和方法。Reflect API 提供了全局 Reflect 对象,该对象具有可用于内省的静态方法。这些方法用于发现有关代码的低级信息。Reflect API 可用于构建在运行时检查和内省程序的自动化测试框架。
下面给出了 Reflect 对象的一些常用方法 -
先生编号 | 方法及说明 |
---|---|
1 |
反射.apply()
使用 args 参数指定的参数调用目标函数 |
2 |
反射.construct()
相当于调用一个类的 new target(...args) 对象 |
3 |
反射.get()
返回属性值的函数。 |
4 |
反射.set()
为属性赋值的函数。如果更新成功,则返回 true 的布尔值。 |
5 |
反射.has()
in 运算符作为函数。返回一个布尔值,指示是否存在自己的属性或继承的属性。 |