### Proxy:代理
1. Proxy用于修改某些操作的默认行为,等同于在语言层面上进行修改
2. 对语言层面上进行修改,简称 “元编程”
3. new Proxy( target, handle ) 生成一个Proxy实例
4. target:需要代理的对象
5. handle:也是一个对象,用来定义拦截行为
6. Proxy支持的拦截操作:共计13种:get set has deleteProperty ownkeys construct
getOwnPropertyDescriptor defineProperty preventExtensions setPrototypeOf getPrototypeOf apply
### Reflect:反射、新对象方法
1. 为操作对象而提供的新的API,Reflect对象与Proxy对象上的方法一 一对应
2. Reflect对象修改某些对象方法的返回结果
3. Reflect相当于修改了原先操作对象的形式,返回结果各别有些不同处理
4. Reflect部署了十三个静态方法
* Reflect.apply(target, thisArg, args)
* Reflect.construct(target, args)
* Reflect.get(target, name, receiver)
* Reflect.set(target, name, value, receiver)
* Reflect.defineProperty(target, name, desc)
* Reflect.deleteProperty(target, name)
* Reflect.has(target, name)
* Reflect.ownKeys(target)
* Reflect.isExtensible(target)
* Reflect.preventExtensions(target)
* Reflect.getOwnPropertyDescriptor(target, name)
* Reflect.getPrototypeOf(target)
* Reflect.setPrototypeOf(target, prototype)