오늘 기술 면접을 보다가 클로저를 이용해 캐시 함수 구현을 하라는 임무를 받았다. 이제는 이런 것 간단히 구현할 수 있다고 생각했는데 어버버 거리면서 못했다는 말을 하는 내 자신이 너무 답답해 블로그에 정리를 한다!
function memo(fn){
let a = {};
return function(x){
if (x in a) {
return a[x];
}
a[x] = fn(x)
return a[x];
}
}
const mFn = memo(fn)
mFn(4)
mFn(4)
mFn(6)
function fn(k){
console.log('inside function');
return k + 1
}
돌이켜보면 쉬운데 왜 그때는 생각이 나질 않았던 것일까.. 후회하며 김동하는 오늘도 조금 성장..