proxy简单的理解!

149 阅读1分钟

proxy

proxy用于创造一个代理,允许你对原有的对象操作进行拦截和自定义。

现实中的例子,你(原始对象)想花钱(你的方法),你老婆(代理对象)就问(拦截你的花钱方法),你花钱干什么去,你说买烟,你老婆说不行,你要买JavaScript红宝书,然后你说好,那我去买书(你的买书方法),你老婆说可以! 当然你老婆这个代理肯定还会代理你其他的很多方法,比如不能找女人,不能喝酒,不能...,所以还是单身好! 语法:

const handler = {
    get:(obj,prop)=>{
        if(prop ==="buyCigarette"){
            return `今晚睡地板`
        }
        if(prop ==="buyBook"){
            return "晚饭吃枸杞"
        }
    }
}
const target = {
    buyCigarette:()=>{
        return "a box of Cigarette"
    },
    buyBook:()=>{
        return "nodejs development"
    }
}
const p = new Proxy(target,handler)

console.log(p.buyCigarette);
console.log(p.buyBook);

请通过新的构造函数拓展已有的构造函数