首页 > 其他 > 详细

es6 Reflect 与 Proxy

时间:2020-07-26 14:30:28      阅读:81      评论:0      收藏:0      [点我收藏+]
<script type="text/javascript">

    let target = {
        name:"小明",
        age: 15
    }

    let handler = {
        get(target, propKey, receive){
            if(propKey in target){
                console.log("success");
            }else{
                console.log("error")
            }
            return Reflect.get(target, propKey, receive);
        },
        set(target, propKey, value, receiver){
            if(propKey==‘age‘){
                if(!Number.isInteger(value)){
                    throw new TypeError(‘The age is not an integer‘);
                }else{
                    console.log("set success");
                }
            }else{
                console.log("set success");
            }
            return Reflect.set(target, propKey, value, receiver);
        },
        has(target,proKey){
            console.log(‘handle has‘);
            return proKey in target;
        }
    }

    let pro = new Proxy(target,handler);
    console.log(‘name‘ in pro)
    console.log(‘sex‘ in pro)
    /*pro.name=‘李四‘
    pro.age=34
    console.log(pro.name)
    console.log(pro.age)*/
</script>

 

es6 Reflect 与 Proxy

原文:https://www.cnblogs.com/Essaycode/p/13379457.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!