📅  最后修改于: 2020-10-25 10:47:25             🧑  作者: Mango
ES6引入了有关元编程的新功能,其中涉及检查或修改程序的结构,或更改语言本身的工作方式。
以下是元编程的三种形式-
内省-内省是指收集有关其自身信息的程序。用于自省的JavaScript运算符的一些示例是typeof,instanceof等。
自我修改-自我修改是指在运行时修改程序的结构。它涉及在运行时访问或创建新属性。换句话说,自我修改是指某些代码自行修改的时间。
代祷-指代修改编程语言默认行为的代码。代祷涉及在运行时修改编程语言的语义或向程序添加新的构造。
ES6引入了支持元编程的Reflect Application编程接口(Reflect API)和Proxy 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. |