underscore.js는 기본 JavaScript 객체들을 확장하지 않고, 함수형 프로그래밍을 지원할 수 있는 100가지 이상의 함수를 가진 유용한 JavaScript 라이브러리다.
자바스크립트를 확장하여 편리하게 코드를 작성하거나 웹표준, 크로스 브라우징에 많이 사용된다.
_.each(list, iteratee, [context]);
- iteratee : 반복을 처리 시키는 내용
- context : context가 있는 경우 this로 바인딩해준다.
var someOtherArray = ["name","patrick","d","w"];
_.each([1, 2, 3], function(num) {
console.log( this[num] );
}, someOtherArray);
// "patrick"
// "d"
// "w"
그룹함수 | 설명 |
---|---|
utilities | 유틸리티 함수 |
collection | 배열 또는 객체를 다루는 함수 |
arrays | 배열을 다루는 함수 |
objects | 객체를 다루는 함수 |
functions | 함수를 다루는 함수 |
underscore.js 로딩 후 예약어 _
를 사용한다. (JQuery의 $
예약어와 유사) 수십가지 함수들은 카테고리별로 분류되어있다.
각각 함수에 대해서는 underscore.js 에서 자세히 살펴볼 수 있다.
extend()
는 객체를 확장하는 용도로 사용한다.
_.extend(destination, *sources)
source 객체에 있는 모든 프로퍼티를 destination 객체에 복사하고, destination 객체를 리턴합니다. source는 순서대로 처리하므로, 마지막 source의 프로퍼티가 앞의 인자들이 가진 같은 이름의 프로퍼티를 덮어쓸 수 있다.