저는 JavaScript를 배우기 시작했고 Underscore.js 와 jQuery를 우연히 발견했습니다 . Underscore는 정말 멋져 보이지만 jQuery가 Underscore와 유사한 기능을 제공하지 않는지 궁금합니다. 그렇다면 둘 다 사용하는 것이 가치가 있습니까?
저는 JavaScript를 배우기 시작했고 Underscore.js 와 jQuery를 우연히 발견했습니다 . Underscore는 정말 멋져 보이지만 jQuery가 Underscore와 유사한 기능을 제공하지 않는지 궁금합니다. 그렇다면 둘 다 사용하는 것이 가치가 있습니까?
답변:
Underscore는 데이터 / 코드 처리를 위해 총 60 개의 함수를 제공합니다. 많은 기능이 jQuery, Prototype 또는 script.aculo.us와 같은 다른 라이브러리에 존재한다는 데 동의합니다. 예를 들어 each, map, find, filter 또는 toArray와 같은 함수는 jQuery에 있습니다. 이것들은 또한 밑줄에 있습니다. 이것은 라이브러리를 jQuery와 독립적으로 만들기위한 것입니다.
언제 밑줄을 사용합니까? :
현재는 한 페이지 Javascript 웹 앱을 만들기 위해 MVC 아키텍처를 사용하기 위해 Backbone.js와 함께 널리 사용됩니다. underscore.js의 가장 중요한 기능은 (jQuery가 할 수없는) 템플릿 기능입니다. 이 라이브러리에는 다른 Javascript 라이브러리와 독립적 인 다른 많은 유용한 기능이 있습니다.
Underscore에서 제공하는 기능 목록을 아래에서 찾으십시오.
컬렉션 : each, map, reduce, reduceRight, find, filter, reject, all, any, include, invoke, pluck, max, min, sortBy, groupBy, sortedIndex, shuffle, toArray, size
배열 : 첫 번째, 초기, 마지막, 나머지, 압축, 편 평화, 없음, 연합, 교차점, 차이, uniq, zip, indexOf, lastIndexOf, 범위
기능 : bind, bindAll, memoize, delay, defer, throttle, debounce, once, after, wrap, compose
개체 : keys, values, functions, extend, defaults, clone, tap, isEqual, isEmpty, isElement, isArray, isArguments, isFunction, isString, isNumber, isBoolean, isDate, isRegExp, isNaN, isNull, isUndefined
Utitity : noConflict, identity, times, mixin, uniqueId, escape, template
겹침이 염려되고 JQuery AJAX와 같은 것이 필요하지 않은 경우 Sizzle이라는 JQuery 선택기 엔진 만 사용하는 것이 좋습니다.
Sizzle 및 Underscore를 사용하면 일부 JQuery 기능 (예 : AJAX)이 손실되며 특정 애플리케이션에 실제로 필요한 것이 무엇인지 고려해야합니다.