Proxy

Proxy关键字来实现

Proxy来实现对目标对象的一些操作进行拦截 改写

const person = {name: "lyy", age: 26}

const personProxy = new Proxy(person, {
        //拦截get方法
    get(target, key) {
        if (key == "name") {
            return target[key].toLocaleUpperCase()
        } else if (key == "age") {
            return target[key]+100
        } 
    },   
    //拦截set方法
    set(target, key, value) {
        if (key == "name") {
            target[key] = value.trim()
        } 
    }
    
})

personProxy.name = "    l y y   "
console.log(personProxy.name) //LYY
console.log(personProxy.age)//126

Example