ES6知識點整理之----Proxy----this
阿新 • • 發佈:2018-09-19
turn target ons getdate === 原生 綁定 typeerror 通過
1、在 Proxy 代理的情況下,目標對象內部的this
關鍵字會指向 Proxy 代理。
2、有些原生對象的內部屬性,只有通過正確的this
才能拿到,所以 Proxy 也無法代理這些原生對象的屬性。
const target = new Date(); const handler = {}; const proxy = new Proxy(target, handler); proxy.getDate(); // TypeError: this is not a Date object.
this
綁定原始對象,就可以解決這個問題。
const target = new Date(‘2015-01-01‘); const handler= { get(target, prop) { if (prop === ‘getDate‘) { return target.getDate.bind(target); } return Reflect.get(target, prop); } }; const proxy = new Proxy(target, handler); proxy.getDate() // 1
ES6知識點整理之----Proxy----this