es6 proxy 总结

网友投稿 434 2022-11-10

es6 proxy 总结

es6 proxy 总结

Proxy: 可以对数据的处理,对构造函数的处理,对数据的验证,说白了就是在我们访问对象添加了一层拦截 ,

其实说明白点跟 vuejs computed 的计算属性很类似,

proxy 字面意思就是代理,下面代码就相当与代理了 test{} 对象,当proxy.age  时触发Proxy 的get 方法,做修改操作时触发 set 方法,

* 测试es6 proxy代理*/function f() { var name="小刚" var handler={ get:(target, prop)=>{ console.log(target); // target {name: "小红", age: "20"} console.log(prop); // age debugger; if(prop==="age"){ return target[prop]+="日子"; } }, set:(target,key ,value)=>{ debugger; console.log(target); // {name: "小红", age: "20日子"} console.log(key); //age 注: 只显示proxy 调用的值 console.log(value); // 30 if(key==="age" && typeof value!=="number"){ throw Error("age 字段名必须为number"); } } } var test={ name:"小红", age:"20" } var proxy = new Proxy(test,handler); var name = test.age; // proxy 现在 代理 test 对象 console.log(`我的年纪${proxy.age}`) // 获取 对象 数据时触发, 与vuejs 的computed 属性类似 // 输出: 我的年纪20 // 做一个set 修改操作 console.log(`我修改了年纪属性触发set 方法${proxy.age=30}`) // 输出:我修改了年纪属性触发set 方法 30}f();

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Spring Boot多个定时任务阻塞问题的解决方法
下一篇:springboot oauth2实现单点登录实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~