导入
反射(orientation)
反射简介及使用方法 `Reflect.apply`
反射是编程语言中检查、动态调用以及修改类、对象、属性和方法的能力。换句话说,反射就是编程语言能够“反射”代码结构的能力。
ES6 的 Reflect API 提供了一个 Reflect 对象,让你可以调用方法、构造对象、获取和设置原型、操作和扩展属性。
反射非常重要,因为它使你能够编写出能够处理非静态代码结构的程序和框架。
一个典型的应用场景是 自动化测试。你无需进行复杂且耗时的准备工作,就能独立测试类中的某些方法。
我们还可以在代理(proxies)中使用 Reflect API。关于代理的内容,我们将在下一章学习。
Reflect.apply 用于调用函数或方法。
1let target = function getArea(width, height) { 2 return `${width * height}${this.units}`; 3}; 4let thisValue = { units: 'cm' }; 5let args = [5, 3]; 6 7console.log('Area: ' + Reflect.apply(target, thisValue, args));
现在让我们学习如何通过反射来创建对象。