Baseline Widely available
handler.get()
æ¹æ³ç¨äºæ¦æªå¯¹è±¡ç读å屿§æä½ã
var p = new Proxy(target, {
get: function (target, property, receiver) {},
});
åæ°
以䏿¯ä¼ éç» get æ¹æ³çåæ°ï¼this ä¸ä¸æç»å®å¨
handler 对象ä¸ã
target
ç®æ 对象ã
property
被è·åç屿§åã
receiver
Proxy æè ç»§æ¿ Proxy ç对象
get æ¹æ³å¯ä»¥è¿åä»»ä½å¼ã
æè¿°handler.get
æ¹æ³ç¨äºæ¦æªå¯¹è±¡ç读å屿§æä½ã
è¯¥æ¹æ³ä¼æ¦æªç®æ 对象ç以䏿ä½ï¼
proxy[foo] å
proxy.bar
Object.create(proxy)[foo]
Reflect.get()
妿è¿èäºä»¥ä¸ç约æï¼proxy ä¼æåº TypeError
:
以ä¸ä»£ç æ¼ç¤ºå¦ä½æ¦æªå±æ§å¼ç读åæä½ã
var p = new Proxy(
{},
{
get: function (target, prop, receiver) {
console.log("called: " + prop);
return 10;
},
},
);
console.log(p.a); // "called: a"; ouptut 10
以ä¸ä»£ç æ¼ç¤ºè¿å约æçæ åµã
var obj = {};
Object.defineProperty(obj, "a", {
configurable: false,
enumerable: false,
value: 10,
writable: false,
});
var p = new Proxy(obj, {
get: function (target, prop) {
return 20;
},
});
p.a; //ä¼æåº TypeError
è§è æµè§å¨å
¼å®¹æ§ åè§
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