[javascript] Underscore.js의 사용 방법은 어떻게 되나요?
Underscore.js는 JavaScript의 유틸리티 라이브러리로, 함수형 프로그래밍과 관련된 다양한 기능을 제공합니다. 아래는 Underscore.js의 몇 가지 주요 기능과 사용 방법에 대한 예시입니다.
- 배열 조작(Array Manipulation):
_.each
: 배열의 각 요소에 대해 함수를 실행합니다._.map
: 배열의 각 요소에 대해 함수를 실행한 결과를 새로운 배열로 반환합니다._.filter
: 배열에서 조건을 만족하는 요소들로 이루어진 배열을 반환합니다.
const arr = [1, 2, 3, 4, 5];
_.each(arr, (item) => {
console.log(item);
});
const squared = _.map(arr, (item) => {
return item * item;
});
const evenNumbers = _.filter(arr, (item) => {
return item % 2 === 0;
});
- 객체 조작(Object Manipulation):
_.keys
: 객체의 키들로 이루어진 배열을 반환합니다._.values
: 객체의 값들로 이루어진 배열을 반환합니다._.extend
: 여러 개의 객체를 병합하여 반환합니다.
const obj = {
name: 'John',
age: 25,
city: 'New York'
};
const keys = _.keys(obj);
const values = _.values(obj);
const newObject = _.extend(obj, {
occupation: 'developer'
});
- 함수형 프로그래밍(Functional Programming):
_.reduce
: 배열의 요소를 하나씩 순회하면서 누적값을 계산합니다._.compose
: 함수들을 합성하여 새로운 함수를 생성합니다._.debounce
: 함수를 지연하여 호출되도록 합니다.
const sum = _.reduce(arr, (acc, curr) => {
return acc + curr;
}, 0);
const multiplyAndSquare = _.compose((x) => x * x, (x) => x * x);
const debouncedFn = _.debounce(() => {
console.log('Debounced function called');
}, 1000);
위의 예시는 많은 기능 중 일부에 불과하며, Underscore.js는 더 다양한 유틸리티 기능을 제공합니다. 더 자세한 내용은 Underscore.js 공식 문서를 참고하세요.