Baseline Widely available
Proxy
ìì±ìë Proxy
ê°ì²´ë¥¼ ë§ëë ë° ì¬ì©ë©ëë¤.
new Proxy(target, handler);
매ê°ë³ìì°¸ê³ :
Proxy()
ënew
ë¡ë§ ë§ë¤ ì ììµëë¤.new
ìì´ í¸ì¶íë ¤ê³ íë©´TypeError
ê° ë°ìí©ëë¤.
target
Proxy
ë¡ ëíí ëì ê°ì²´ì
ëë¤. ë¤ì´í°ë¸ ë°°ì´, í¨ì ëë ë¤ë¥¸ íë¡ì를 í¬í¨í 모ë ì¢
ë¥ì ê°ì²´ê° ë ì ììµëë¤.
handler
ìì ì´ ìíë ë íë¡ìì ëìì ì ìíë ìì±ì´ í¨ìì¸ ê°ì²´ì ëë¤.
Proxy()
ìì±ì를 ì¬ì©íì¬ ì Proxy
ê°ì²´ë¥¼ ë§ëëë¤. ì´ ìì±ìë ë ê°ì§ íì ì¸ì를 ì¬ì©í©ëë¤.
target
ì íë¡ì를 ë§ë¤ë ¤ë ëì ê°ì²´ì
ëë¤.handler
ë ìì
ì´ ìíë ë íë¡ìì ëìì ì ìíë ìì±ì´ í¨ìì¸ ê°ì²´ì
ëë¤.ë¹ í¸ë¤ë¬ë ê±°ì 모ë ë©´ìì ëì ê°ì²´ì ëê°ì ëìì íë íë¡ìê° ìì±ëë©°, handler
ê°ì²´ìì í¨ìì ì§í©ì ì ìíì¬ íë¡ìì í¹ì ëìì 커ì¤í
í ì ììµëë¤. ì를 ë¤ì´, get()
ì ì ìíì¬ ëì ìì± ì ê·¼ìì ì¬ì©ì ì ì ë²ì ì ì ê³µí ì ììµëë¤.
ì´ ì¹ì ììë ì ìí ì ìë 모ë ì²ë¦¬ê¸° í¨ì를 ëì´í©ëë¤. ì²ë¦¬ê¸° í¨ìë 기본 ëì ê°ì²´ì ëí í¸ì¶ì ê°ë¡ì±ê¸° ë문ì í¸ë©(traps)ì´ë¼ê³ ë í©ëë¤.
handler.apply()
í¨ì í¸ì¶ì ëí í¸ë©.
handler.construct()
new
ì°ì°ìì ëí í¸ë©.
handler.defineProperty()
Object.defineProperty
ì ëí í¸ë©.
handler.deleteProperty()
delete
ì°ì°ìì ëí í¸ë©.
handler.get()
ìì± ê°ì ê°ì ¸ì¤ê¸°(get) ìí í¸ë©.
handler.getOwnPropertyDescriptor()
Object.getOwnPropertyDescriptor
ì ëí í¸ë©.
handler.getPrototypeOf()
Object.getPrototypeOf
ì ëí í¸ë©.
handler.has()
in
ì°ì°ìì ëí í¸ë©.
handler.isExtensible()
Object.isExtensible
ì ëí í¸ë©.
handler.ownKeys()
Object.getOwnPropertyNames
ì Object.getOwnPropertySymbols
ì ëí í¸ë©
handler.preventExtensions()
Object.preventExtensions
ì ëí í¸ë©
handler.set()
ìì± ê° ì¤ì (set)ì ëí í¸ë©.
handler.setPrototypeOf()
Object.setPrototypeOf
ì ëí í¸ë©.
ì´ ìì ì ëì ê°ì²´ë notProxied
ì proxied
ìì±ì ê°ì§ê³ ììµëë¤. ì°ë¦¬ë proxied
ì ëí´ ë¤ë¥¸ ê°ì ë°ííë ì²ë¦¬ê¸°ë¥¼ ì ìíê³ ë¤ë¥¸ 모ë ì¡ì¸ì¤ë ëì ê°ì²´ë¥¼ íµí´ ìíëëë¡ í ê²ì
ëë¤.
const target = {
notProxied: "original value",
proxied: "original value",
};
const handler = {
get(target, prop, receiver) {
if (prop === "proxied") {
return "replaced value";
}
return Reflect.get(...arguments);
},
};
const proxy = new Proxy(target, handler);
console.log(proxy.notProxied); // "original value"
console.log(proxy.proxied); // "replaced value"
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
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