četvrtak, 25 aprila, 2024
Sam svoj majstor

Underscore

Autor: Zlatan Vasović

Underscore je JavaScript biblioteka koja sadrži veliki broj korisnih alatki, ali bez proširivanja osnove programskog jezika. To je biblioteka koja teži da bude minimalistična i brza, kako ne bi (previše) usporila vaš sajt.

Underscore sadrži i imitaciju nativnih JavaScript metoda, ukoliko one ne postoje. Ipak, te imitacije nisu proširenje osnove programskog jezika, već obične funkcije biblioteke.

Statistika

Underscore je najpopularniji paket na npm registru. On je veoma popularan i na drugim registrima JavaScript paketa.

  • 5400+ npm paketa koji koriste Underscore
  • 70+ star-ova na npm registru
  • 10000+ star-ova na GitHub-u
  • 2000+ fork-ova na GitHub-u

Instalacija

Underscore radi i u pregledačima i u node.js okruženju, pa ga možete koristiti na više načina. Možete ga preuzeti direktno sa sajta, ili dobaviti nekim od JavaScript menadžera paketa (npr. Require.js, npm i Bower).

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

API

Underscore se najčešće koristi sa promenljivom _ (donja crta). Tada je sintaksa _.metoda(argumenti).

Najčešće korišćene metode
  • _.each (_.forEach) — imitacija nativne ciklične petlje za nizove i objekte
  • _.map — imitacija nativnog transformatora članova niza ili objekta
  • _.invoke — poziva metodu i primenjuje je na niz ili objekat
  • _.reduce (_.inject, _.foldl) — funkcijom spaja sve vrednosti niza u jednu
  • _.filter (_.select) — imitacija nativnog filtriranja niza
  • _.every — imitacija nativne provere da li svi članovi niza prolaze test
  • _.some — imitacija nativne provere da li bilo koji član niza prolazi test
  • _.indexOf — imitacija nativne metode za pronalaženje mesta člana niza

Underscore-contrib

Za sve one kojima nešto nedostaje u Underscore-u, tu je Underscore-contrib, proširenje Underscore-a. Tu se nalaze sve funkcije koje bi ili previše uvećale biblioteku, ili bi previše usporile učitavanje stranice. Više informacija možete naći na http://documentcloud.github.io/underscore-contrib/.

Alternative

Postoji više alternativa Underscore biblioteci. Najpopularnije su Lo-Dash (http://lodash.com/) i Lazy.js (http://danieltao.com/lazy.js/).

Prelazak na alternative je vredan, ako brinete o performansama.

Linkovi