概念
什么是反射?
在计算机学中,反射式编程(英语:reflective programming)或反射(英语:reflection),是指计算机程序在运行时(runtime)可以访问、检测和修改它本身状态或行为的一种能力。[1]用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。
– 来自维基百科
反射就是指程序运行阶段(RunTime)拦截程序,以达到获取、修改自身元数据的目的。这在其他高级语言中是非常常见的概念。
在JavaScript 这种动态语言中,反射可以说是无处不在。
我们随时可以去新增、修改对象的属性,甚至可以重新定义对象中的方法,如我们日常使用的 apply 、 defineProperty 操作就属于典型的反射。