4
단순한 재귀 함수를 상상해보십시오.이 함수는, 입출력을 계측하기 위해서 랩하고 있습니다. 그러나 재귀 함수의 프록 싱
// A simple recursive function.
const count = n => n && 1 + count(n-1);
// Wrap a function in a proxy to instrument input and output.
function instrument(fn) {
return new Proxy(fn, {
apply(target, thisArg, argumentsList) {
console.log("inputs", ...argumentsList);
const result = target(...argumentsList);
console.log("output", result);
return result;
}
});
}
// Call the instrumented function.
instrument(count)(2);
count
이 계측 된 버전을 호출하게하는 방법을 찾고 싶습니다.
나는'count'를 오버라이드해야한다고 생각합니다. 자바 스크립트는 어휘 범위를 가지고 있기 때문에 함수 내에서'count'를 만들기 위해 할 수있는 일이 전혀 없습니다 ('count'를 오버라이드하는 것을 제외하고). 그러나 나는 틀린 증명하게 행복 할 것이다 :) –