教程 > ES6 教程 > ES6 高级 阅读:13

ES6 Reflect API

ES6 围绕元编程引入了新特性,其中涉及检查或修改程序的结构,或者改变语言本身的工作方式。

以下是元编程的三种形式 -

  • 内省 - 内省是指收集有关自身信息的程序。 用于内省的 JavaScript 运算符的一些示例是 typeof、instanceof 等。
  • 自修改 - 自修改是指在运行时修改程序的结构。 它涉及在运行时访问或创建新属性。 换句话说,自修改是指某些代码修改自身。
  • Intercession - 指修改编程语言默认行为的代码。 调解涉及修改编程语言的语义或在运行时向程序添加新结构。

ES6 引入了反射应用程序编程接口(Reflect API)和支持元编程的代理 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() 为属性赋值的函数。 返回一个布尔值,如果更新成功则为真。
5 Reflect.has() in 运算符作为函数。 返回一个布尔值,指示是否存在自己的或继承的属性。

查看笔记

扫码一下
查看教程更方便