memoize
어떠한 arguments에 대한 return 값을 함수 실행시에 기억했다가,
다음 번에 같은 arguments로 함수가 실행될 시에는,
기억해놓았던 값을 바로 return하도록 하는 것이다.
let memoize = function(func) { var set = {}; return function() { let strArgs = JSON.stringify(arguments); //함수에 입력될 arguments를 string으로 변화시켜서 어떤 객체 set의 key 값으로 사용 if (set[strArgs] === undefined) { set[strArgs] = func.apply(this, arguments); } //만약 set에 해당하는 key값의 value가 undefined라면 새로운 실행 조건이므로 set 객체에 새로이 저장한다 return set[strArgs]; //기억하고 있던 값이든, 새로이 기억한 값이든 return 시키도록 한다. }; };
Data structure part.2 - Javascript (0) | 2019.05.29 |
---|---|
Data structure part.1 - Javascript (0) | 2019.05.29 |
this - Javascript (0) | 2019.05.29 |
예외(예기치 못한 에러) 처리하기 - Nodejs (0) | 2019.05.14 |
events 모듈 - Nodejs (0) | 2019.05.14 |
댓글 영역