浅谈proxy
let obj = { name: 'zj' } let newObj = new Proxy(obj, { get(target, keys) { return (params) => { return target[keys] + params } } }) console.log(newObj.name(66)) // zj66
小结:
1、newObj 是一个代理或者叫拦截的对象。
2、newObj 可以代理任何对象,包括空对象。
3、如上面案例所示,newObj.name(66) 属于读的性质,则默认执行代理里面的get函数。
4、代理里面的target 代表obj , keys 代表name ,params 代表传入的参数66
其实,也就是利用代理对象的操作,来实现自己想要的结果。当然,前提是这个结果根据代理对象来的,抑或是完全跟代理对象没关系,毕竟被代理的对象完全可以为空。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步