1declare function print(str:any):string; 2 3 4 5function sum(a:number, b:number):number { 6 return a + b; 7 } 8 9const handler = { 10 apply: function(target:any, thisArg:any, argumentsList:any[]) { 11 print(`Calculate sum: ${argumentsList}`); 12 // expected output: "Calculate sum: 1,2" 13 14 return target(argumentsList[0], argumentsList[1]) * 10; 15 } 16}; 17 18const proxy1 = new Proxy(sum, handler); 19 20print(sum(1, 2)); 21// expected output: 3 22print(proxy1(1, 2)); 23