반응형
라이브러리란?
사용이 잦은 로직을 재활용하기 위해 class 혹은 function 으로 정의한 것을 의미. 다른 사람들이 만든 라이브러리를 사용할 수 있고, 직접 만들 수도 있다.
Underbar Review
_.map(collection, iterator)
_.map = function(collection, iterator) {
let arr =[];
for(let el of collection) {
arr.push(iterator(el));
}
return arr;
}
_.reduce(collection, iterator, accumulator)
_.reduce = function(collection, iterator, accumulator) {
if (Array.isArray(collection)) {
accumulator === undefined
? (accumulator = collection[0])
: (accumulator = iterator(accumulator, collection[0]));
for (let i = 1; i < collection.length; i++) {
accumulator = iterator(accumulator, collection[i]);
}
return accumulator;
} else {
for (let prop in collection) {
accumulator = iterator(accumulator, collection[prop]);
}
return accumulator;
}
};
겹치는 부분을 최소화 하기 위해서 accumulator가 없는 경우와 있는 경우를 한 번 가공해서 통일 시킨다.
_.once(func)
_.once = function(func) {
var alreadyCalled = false;
var result;
return function(...args){
if(!alreadyCalled){
alreadyCalled = true;
result = func(...args) // this가 없는 상황이라
}
return result;
}
};
var num = 0;
var increment = _.once(function() {
num++;
});
increment(); // num은 1
increment(); // num은 1
increment(); // num은 1
func을 실행해주기 위해서 return에 callback 함수를 넣어주는 것.
반응형
'2. 우당탕탕 개발자 > 2-1. 공부기록' 카테고리의 다른 글
13Jan2020 TIL (0) | 2020.01.13 |
---|---|
11Jan2020 TIL (0) | 2020.01.12 |
09Jan2020 TIL (0) | 2020.01.10 |
06Jan2020 TIL (0) | 2020.01.07 |
01Jan2020 TIL (0) | 2020.01.02 |
댓글