proxy深层代理

作者: 在小白的路上越走越远 | 来源:发表于2020-09-28 15:34 被阅读0次

    在get方法内进行递归,判断是否为对象,为对象继续递归,否则直接返回获取数值。

    let obj = {
        name: 'Eason',
        age: 30,
        happy: {
            aa: '11'
        }
    }
    
    let handle = {
        get(target, key) {
            if (Object.prototype.toString.call(target[key]) === '[object Object]') {
                return new Proxy(target[key], handle)
            }
            return target[key] + '获取'
        },
        set(target, key, value) {
            target[key] = value + '设置';
        }
    }
    let proxy = new Proxy(obj, handle)
    proxy.name = '9opsdsa8'
    console.log(proxy.name)
    proxy.happy.aa = '99iiyy'
    console.log(proxy.happy.aa);
    

    相关文章

      网友评论

        本文标题:proxy深层代理

        本文链接:https://www.haomeiwen.com/subject/sryeuktx.html