proxy 是 js 中的一种元编程. 可以在语言层面修改语言的一些默认操作. 就是一种修改语言特性的方法
用法
var obj =new Proxy(traget, handle) (handle 有哪些参数, 主义很对象的属性的配置对象的区别)
特性
可以作为一个对象的原型对象
如果没有设置 handle, 那么是直接落在 target 上
可配置的属性
get
set
has 拦截 in 操作, 返回 布尔值
deleteProperty 拦截 delete 操作
ownKeys 拦截遍历的操作
下面都是对象的
getOwnPropertyDescriptor
defineProperty
preventExtensions
getPrototypeOf
isExtensible
setPrototypeOf
apply 拦截作为函数调用的时候
construct 拦截作为构造函数调用的时候
在 es6 中 proxy应该可以拦截对象函数, 从配置来看应该拦截不了基本的变量