петак, 26 априла, 2024
Сам свој мајстор

Underscore

Аутор: Златан Васовић

Underscore је JavaScript библиотека која садржи велики број корисних алатки, али без проширивања основе програмског језика. То је библиотека која тежи да буде минималистична и брза, како не би (превише) успорила ваш сајт.

Underscore садржи и имитацију нативних JavaScript метода, уколико оне не постоје. Ипак, те имитације нису проширење основе програмског језика, већ обичне функције библиотеке.

Статистика

Underscore је најпопуларнији пакет на npm регистру. Он је веома популаран и на другим регистрима JavaScript пакета.

  • 5400+ npm пакета који користе Underscore
  • 70+ star-ова на npm регистру
  • 10000+ star-ова на GitHub
  • 2000+ fork-ова на GitHub

Инсталација

Underscore ради и у прегледачима и у node.js окружењу, па га можете користити на више начина. Можете га преузети директно са сајта, или добавити неким од JavaScript менаџера пакета (нпр. Require.js, npm и Bower).

node.js (npm)
npm install underscore
Require.js
require(["underscore"] // ...
Bower
bower install underscore
Component
component install jashkenas/underscore

API

Underscore се најчешће користи са променљивом _ (доња црта). Тада је синтакса _.метода(аргументи).

Најчешће коришћене методе
  • _.each (_.forEach) — имитација нативне цикличне петље за низове и објекте
  • _.map — имитација нативног трансформатора чланова низа или објекта
  • _.invoke — позива методу и примењује је на низ или објекат
  • _.reduce (_.inject, _.foldl) — функцијом спаја све вредности низа у једну
  • _.filter (_.select) — имитација нативног филтрирања низа
  • _.every — имитација нативне провере да ли сви чланови низа пролазе тест
  • _.some — имитација нативне провере да ли било који члан низа пролази тест
  • _.indexOf — имитација нативне методе за проналажење места члана низа

Underscore-contrib

За све оне којима нешто недостаје у Underscore-у, ту је Underscore-contrib, проширење Underscore-а. Ту се налазе све функције које би или превише увећале библиотеку, или би превише успориле учитавање странице. Више информација можете наћи на http://documentcloud.github.io/underscore-contrib/.

Алтернативе

Постоји више алтернатива Underscore библиотеци. Најпопуларније су Lo-Dash (http://lodash.com/) и Lazy.js (http://danieltao.com/lazy.js/).

Прелазак на алтернативе је вредан, ако бринете о перформансама.

Линкови