Proxy
在以前对对象进行操作时候用Object.defineProperty,进行get set 操作,但是设计的初衷不是为了监听截止一个对象中的所有属性的。
而且想监听更丰富的操作,是无能为力的。
在ES6中,新增了一个Proxy 类 ,顾名思义,创建一个对象代理。
const p=new Proxy(tartget,handler(捕获器))
Set函数中有四个参数 target,property,value,receiver,目标对象,将被设置的属性key,新属性值,调用的代理对象
Set函数中有四个参数 target,property,receiver
Reflect
反射
主要目的就是为了代替Object操作对象的方法。ECMA规范早期设计没考虑到如何设计更加规范,就将这些API都放到了Object中,但是Object本身作为一个构造函数,放到它身上并不合适。
所以ES6中新增了Reflect 对象 。
提出一个无理的要求
Student,Teacher两个函数
创建一个实例 让它student的方法,但是用Teacher的原型对象
Reflect的construct