Baseline Widely available
Proxy()
æé 彿°ç¨äºå建 Proxy
对象ã
new Proxy(target, handler)
夿³¨ï¼ Proxy()
åªè½éè¿ new
å
³é®åæ¥è°ç¨ã妿ä¸ä½¿ç¨ new
å
³é®åè°ç¨ï¼åä¼æåº TypeError
ã
target
Proxy
ä¼å¯¹ç®æ ï¼targetï¼å¯¹è±¡è¿è¡å
è£
ãå®å¯ä»¥æ¯ä»»ä½ç±»åç对象ï¼å
æ¬åççæ°ç»ã彿°çè³æ¯å¦ä¸ä¸ªä»£ç对象ã
handler
ä¸ä¸ªå¯¹è±¡ï¼å ¶å±æ§æ¯å®ä¹äºå¨å¯¹ä»£çæ§è¡æä½æ¶çè¡ä¸ºç彿°ã
å¯ä»¥ä½¿ç¨ Proxy()
æé 彿°æ¥å建ä¸ä¸ªæ°ç Proxy
对象ãæé 彿°æ¥æ¶ä¸¤ä¸ªå¿
é¡»çåæ°ï¼
target
æ¯è¦å建代çç对象handler
æ¯å®ä¹äºä»£ççèªå®ä¹è¡ä¸ºç对象ä¸ä¸ªç©ºçå¤çå¨ï¼handlerï¼å°ä¼å建ä¸ä¸ªä¸è¢«ä»£ç对象è¡ä¸ºå ä¹å®å
¨ç¸åç代ç对象ãéè¿å¨ handler
对象ä¸å®ä¹ä¸ç»å½æ°ï¼ä½ å¯ä»¥èªå®ä¹è¢«ä»£ç对象çä¸äºç¹å®è¡ä¸ºãä¾å¦ï¼éè¿å®ä¹ get()
ä½ å°±å¯ä»¥èªå®ä¹è¢«ä»£ç对象ç屿§è®¿é®å¨ã
æ¬ç¤ºä¾ä¸ï¼è¢«ä»£ç对象æä¸¤ä¸ªå±æ§ï¼notProxied
å proxied
ãæä»¬å®ä¹äºä¸ä¸ªå¤çå¨ï¼å®ä¸º proxied
屿§è¿åä¸ä¸ªä¸åçå¼ï¼èå
¶ä»å±æ§åéè¿ç®æ è·åã
const target = {
notProxied: "åå§å¼",
proxied: "åå§å¼",
};
const handler = {
get(target, prop, receiver) {
if (prop === "proxied") {
return "æ¿æ¢å¼";
}
return Reflect.get(...arguments);
},
};
const proxy = new Proxy(target, handler);
console.log(proxy.notProxied); // "åå§å¼"
console.log(proxy.proxied); // "æ¿æ¢å¼"
è§è æµè§å¨å
¼å®¹æ§ åè§
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4