Baseline Widely available
handler.apply()
ë©ìëë í¨ì í¸ì¶ì ëí í¸ë©ì
ëë¤.
function sum(a, b) {
return a + b;
}
const handler = {
apply: function (target, thisArg, argumentsList) {
console.log(`Calculate sum: ${argumentsList}`);
// Expected output: "Calculate sum: 1,2"
return target(argumentsList[0], argumentsList[1]) * 10;
},
};
const proxy1 = new Proxy(sum, handler);
console.log(sum(1, 2));
// Expected output: 3
console.log(proxy1(1, 2));
// Expected output: 30
구문
var p = new Proxy(target, {
apply: function (target, thisArg, argumentsList) {},
});
ë§¤ê° ë³ì
ë¤ì 매ê°ë³ìë apply()
ë©ìëì ì ë¬ë©ëë¤. this
ë í¸ë¤ë¬ì ë°ì¸ë©ë©ëë¤.
target
í¸ì¶í ì ìë ëì ê°ì²´
thisArg
í¸ì¶ì ëí this
ì¸ì
argumentsList
í¸ì¶ì ëí ì¸ì 목ë¡
apply()
ë©ìëë ì´ë¤ ê°ì´ë ë°íí ì ììµëë¤.
handler.apply()
ë©ìëë í¨ì í¸ì¶ì ëí í¸ë©ì
ëë¤.
ì´ í¸ë©ì ë¤ì ìì ì ê°ë¡ì± ì ììµëë¤.
proxy(...args)
Function.prototype.apply()
ì Function.prototype.call()
Reflect.apply()
ë¤ì ë¶ë³ ì¡°ê±´ì´ ìë°ëë©´ íë¡ìë TypeError
를 ë°ììíµëë¤.
ëì ê°ì²´ë ê·¸ ìì²´ë¡ í¸ì¶ì´ ê°ë¥í´ì¼í©ëë¤. ì¦, í¨ì ê°ì²´ì¬ì¼ í©ëë¤.
ìì í¨ì í¸ì¶ ê°ë¡ì±ê¸°ë¤ì ì½ëë í¨ì í¸ì¶ì í¸ë©í©ëë¤.
const p = new Proxy(function () {}, {
apply(target, thisArg, argumentsList) {
console.log(`called: ${argumentsList}`);
return argumentsList[0] + argumentsList[1] + argumentsList[2];
},
});
console.log(p(1, 2, 3)); // "í¸ì¶: 1,2,3"
// 6
ëª
ì¸ì ë¸ë¼ì°ì í¸íì± ê°ì´ 보기
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