Merhaba sevgili e-bergi okuyucuları! Bu yazımda sizlere günümüzde en çok kullanılan JavaScript kütüphanelerinden biri olan lodash'ten bahsedeceğim.JavaScript kullanırken mutlaka fark etmişsinizdir, JavaScript'in yerleşik (built-in) kütüphaneleri çoğu zaman yetersiz kalıyor, geliştiriciler birçok fonksiyonu her projede ayrı ayrı yazıyor. İşte lodash bu yetersizliği çözme amacıyla ortaya çıkmış bir kütüphane. Özellikle diziler (array) ve nesneler (object) üstüne eğilse de stringler gibi diğer konularda da gayet iyi çözümler sunuyor.

lodash'in adı İngilizce alt tire manasına gelen “low dash”'ten geliyor. Bunun sebebi de jQuery'nin nesne adı olarak $ kullanması gibi _ kullanması. lodash'i ister front end'de ister back end'de kullanabilirsiniz.

Tarayıcıda:
<script src=”lodash.js”></script>
AMD Yükleyicilerde:
require(['lodash'],function(_) {});
NPM ile:
$ npm i --save lodash
Node.js/io.js'te:
var _ = require('lodash');

lodash şu 11 bölüme ayrılıyor:

Dizi (Array): JavaScript'in diziler için sunmadığı bazı fonksiyonları barındırıyor. _.zip, _.unzip, _.slice, _.join bunlardan birkaçı.

Collection: Diziler ve nesneler için ortak kullanılabilecek fonksiyonları barındırıyor. _.filter, _.map, _.reduce, _.size bunlardan bazıları.

Tarih (Date): Tek bir fonksiyondan oluşuyor: _.now.

Fonksiyon (Function): Fonksiyonlar için kullanılabilecek bazı fonksiyonları sunuyor. Buradaki fonksiyonlar genellikle parametre olarak bir fonksiyon alıp ondan yeni bir fonksiyon yaratıyorlar. _.defer, _.delay, _.negate, _.once gibi fonksiyonlar bunlardan birkaçı.

Dil (Lang): Genel amaçlı fonksiyonlar bu kısımda. _.is ile başlayan, tahmin edebileceğiniz gibi işlevi tip ya da değer kontrolü olan pek çok fonksiyon var, mesela _.isNative. _.to ile başlayan tip çevirme fonksiyonları da burada. Ayrıca _.gt (>=), _.eq (==) gibi operatörlerin fonksiyon halleri de var burada.

Matematik (Math): Matematiksel fonksiyonları barındırıyor. Bazı operatörlerin (_.add (+), .subtract (-) vs.) fonksiyon halleri bu kısımda. Yuvarlama fonksiyonları (.ceil, _.floor, .round) ve dizilere uygulanan matematiksel fonksiyonlar (.sum, _.mean) da burada.

Sayı (Number): Üç fonksiyondan oluşuyor: _.clamp, _.random, _inRange.

Nesne (Object): JavaScript'in nesneler için sunmadığı bazı fonksiyonları barındırıyor. _.keys, _.values, _.merge bunlardan birkaçı.

Seq: Bu fonksiyonlar lodash'in farklı kullanım şekilleri.

String: JavaScript'in stringlerde yetersiz kaldığı yerde bu fonksiyonlar JavaScript'i tamamlıyor. _.trim, _.escape, _.words bu fonksiyonlardan birkaçı.

Araç (Util): Faydalı olabilecek çeşitli fonksiyonlar barındırıyor. Bunlara örnek olarak _.noop, _.identity, _.range, _.times verilebilir.

Özellikler (Properties): lodash'in ayarları ve versiyon bilgisi bu kısımda yer alıyor.

Yöntemler (Methods): lodash'e bir referans barındırıyor.

Sonuç olarak, lodash, ister front end'de ister back end'de olun, JavaScript geliştiricisiyseniz size çok büyük avantaj sağlayacak araçlar sunuyor. Şu an 4.2.0 sürümüne gelmiş bu kütüphaneye siz de bir şans verin, pişman olmayacaksınız: http://lodash.com

Bir sonraki yazımda görüşmek üzere, hoşçakalın!

Kaynakça: