Proxy
2019-12-05 09:57:06 0 举报
AI智能生成
ES6-思维导图
作者其他创作
大纲/内容
拦截操作一览(handler)
get(target, propKey, receiver)
拦截对象属性的读取
set(target, propKey, value, receiver)
拦截对象属性的设置
apply(target, ctx(也就是目标对象的this), args)
拦截 Proxy 实例作为函数调用的操作,
1、proxy(...args)
2、proxy.call(object, ...args)
3、proxy.apply(...)
1、proxy(...args)
2、proxy.call(object, ...args)
3、proxy.apply(...)
construct(target, args)
拦截 Proxy 实例作为构造函数调用的操作
1、new proxy(...args)
1、new proxy(...args)
has(target, propKey)
拦截
1、propKey in proxy的操作
1、propKey in proxy的操作
deleteProperty(target, propKey)
拦截
1、delete proxy[propKey]的操作
1、delete proxy[propKey]的操作
ownKeys(target)
拦截
1、Object.getOwnPropertyNames(proxy)、
2、Object.getOwnPropertySymbols(proxy)、
3、Object.keys(proxy)
4、for...in循环
返回一个数组
1、Object.getOwnPropertyNames(proxy)、
2、Object.getOwnPropertySymbols(proxy)、
3、Object.keys(proxy)
4、for...in循环
返回一个数组
getOwnPropertyDescriptor(target, propKey)
拦截
1、Object.getOwnPropertyDescriptor(proxy, propKey)
返回属性的描述对象。
1、Object.getOwnPropertyDescriptor(proxy, propKey)
返回属性的描述对象。
defineProperty(target, propKey, propDesc)
拦截
1、Object.defineProperty(proxy, propKey, propDesc)
2、Object.defineProperties(proxy, propDescs)
返回一个布尔值。
1、Object.defineProperty(proxy, propKey, propDesc)
2、Object.defineProperties(proxy, propDescs)
返回一个布尔值。
preventExtensions(target)
拦截
1、Object.preventExtensions(proxy)
返回一个布尔值。
1、Object.preventExtensions(proxy)
返回一个布尔值。
getPrototypeOf(target)
拦截
1、Object.getPrototypeOf(proxy)
返回一个对象
1、Object.getPrototypeOf(proxy)
返回一个对象
setPrototypeOf(target, proto)
拦截
1、Object.setPrototypeOf(proxy, proto)
返回一个布尔值
1、Object.setPrototypeOf(proxy, proto)
返回一个布尔值
isExtensible(target)
拦截
1、Object.isExtensible(proxy)
返回一个布尔值
1、Object.isExtensible(proxy)
返回一个布尔值
概述
形式
var proxy = new Proxy(target, handler);
target:目标对象
handler:拦截函数
target:目标对象
handler:拦截函数
不生效情况
当目标对象不可写或者不可配置时候
大部分拦截函数是无法生效的
大部分拦截函数是无法生效的
0 条评论
下一页