ES6基础语法之proxy用法

时间:2022-06-08
本文章向大家介绍ES6基础语法之proxy用法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

proxy(代理)简单理解为在对对象进行的'.'操作时,设定的一个过滤器,能够想象到的比较适合的使用场景是做单元测试时,验证对对象的操作。

应用示例代码:

    //proxy(相当于拦截器获取之前进行操作)        
        var user=new Proxy({},{
        	//target原来的传入对象,pro参数的对象属性
        	get:function(target,pro){
        		if(pro=="info"){
        		return target.name+","+target.age;
        		}
        	}
        })
        user.name="十七";
        user.age="22岁";
        console.log("用户信息:"+user.info);//用户信息:十七,22岁

获取到对象内容后进行判断是info不,不是则返回undefined,是info返回用户信息.

不仅仅有get,也有set(自主去设置对象内容)

    //proxy(相当于拦截器获取之前进行操作)
    var user=new Proxy({},{
    	//target原来的传入对象,pro参数的对象属性
    	get:function(target,pro){
    		if(pro=="info"){
    		return target.name+","+target.age;
    		}
    	},
    	set:function(target,pro){
    		target.age="25岁";
    		target.name="有妖气"
    	}
    })
    user.name="十七";
    user.age="22岁";
    console.log("用户信息:"+user.info);//打印出的对象内容是set后的

proxy相当于对于获取到的对象进行过滤操作进行反馈!