看了MDN 和 菜鸟,觉得菜鸟解释更容易理解些;
“Proxy 与 Reflect 是 ES6 为了操作对象引入的 API 。
Proxy 可以对目标对象的读取、函数调用等操作进行拦截,然后进行操作处理。它不直接操作对象,而是像代理模式,通过对象的代理对象进行操作,在进行这些操作时,可以添加一些需要的额外操作。
Reflect 可以用于获取目标对象的行为,它与 Object 类似,但是更易读,为操作对象提供了一种更优雅的方式。它的方法与 Proxy 是对应的。”
-------个人理解把Reflect 看成上述Proxy 比较容易记;
主要用来代替原Object 的增(Reflect.set(target, propertyKey, value[, receiver]))、 删(Reflect.deleteProperty(target, propertyKey))、 改、查(Reflect.has(target, propertyKey))等等;
注意!! IE不支持!
常用方法有很多,大概不常用的就是删除吧,反正我就在一些请求不需要带token的情况使用过删!(还有就是无聊的时候,后端返回的参数过多又用不到时,删起玩啦)