📜  ES6-Reflect API

📅  最后修改于: 2020-10-25 10:47:25             🧑  作者: Mango


ES6引入了有关元编程的新功能,其中涉及检查或修改程序的结构,或更改语言本身的工作方式。

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

  • 内省-内省是指收集有关其自身信息的程序。用于自省的JavaScript运算符的一些示例是typeof,instanceof等。

  • 自我修改-自我修改是指在运行时修改程序的结构。它涉及在运行时访问或创建新属性。换句话说,自我修改是指某些代码自行修改的时间。

  • 代祷-指代修改编程语言默认行为的代码。代祷涉及在运行时修改编程语言的语义或向程序添加新的构造。

ES6引入了支持元编程的Reflect Application编程接口(Reflect API)和Proxy API。

使用Reflect API进行元编程

ES6中的Reflect API允许我们在运行时检查或修改程序的类,对象,属性和方法。 Reflect API提供了全局Reflect对象,该对象具有可用于自省的静态方法。这些方法用于发现有关代码的底层信息。 Reflect API可用于构建自动化测试框架,以在运行时检查和自检程序。

下面给出了Reflect对象的一些常用方法-

Sr.No Method & Description
1 Reflect.apply()

Calls a target function with arguments as specified by the args parameter

2 Reflect.construct()

Equivalent to calling new target(…args) objects of a class

3 Reflect.get()

A function that returns the value of properties.

4 Reflect.set()

A function that assigns values to properties. Returns a Boolean that is true if the update was successful.

5 Reflect.has()

The in operator as function. Returns a Boolean indicating whether an own or inherited property exists.