[Javascript] 메모이제이션과 커링

목차

메모이제이션이란?

함수에 프로퍼티를 추가하여 값을 캐시한 후에 다음 호출 시점에 복잡한 연산을 건너 뛰도록 하는 패턴

예제를 보면 이해가 쉽다.

<소스>

func이란 함수 객체에 cache 프로퍼티를 추가하여 결과값을 저장해 놓은 뒤

두번 째 호출 부터는 if(func.cache[param]) 과정을 건너뛰게 된다.



커링이란?

커링은 참 신기한놈이다. 함수와 인자의 새로운 조합으로 새로운 함수를 만드는 것이다.

어떤 함수를 호출할 때 대부분의 인자값이 비슷하다면 커링을 사용하는 것이 좋다. 매개변수(인자)를 일부 적용시키고
새로운 함수를 동적으로 생성 할 수 있기 때문이다.


<소스>

<결과>




  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유