JavaScript设计模式之代理模式

代理就是我们不直接操作原有对象,而是委托另一个对象去操作,但是实际执行的还是原对象的方法。它与装饰器模式的不同在于:装饰器模式生效的是原对象,代理模式生效的是新对象。
常见的运用有事件委托,vue中对data的代理等。
如proxy

const target = {
    method() {
        console.log('target method')
    }
}
const proxy = new Proxy(target, {
    get(target, prop) {
        console.log('before call target method')
        return target[prop]
    }
})
proxy.method()

你可能感兴趣的:(JavaScript设计模式,javascript,设计模式,代理模式)