- PVSM.RU - https://www.pvsm.ru -

Lo-Dash

Прим. переводчика: underscore.js — одна из самых известных и любимых javascript-библиотек. Но мало кто знает, что есть её более удачный клон. В одном из своих проектов мы без каких-либо проблем перешли на него и теперь решили познакомить с ним других читателей Хабрахабра.

Lo-Dash [1] — это полноценная замена* [2] для Underscore.js [3]. Lo-dash имеет более высокую производительность, т.к. создан авторами сайта jsPerf.com [4], избавлен от некоторых багов [5] underscore и даёт некоторые новые возможности.

Lo Dash

Новые возможности:

  • Поддержка AMD-загрузчиков [6] (RequireJS [7], curl.js [8], etc.)
  • _.clone [9] поддерживает “глубокое” клонирование
  • _.forEach [10] поддерживает текучий интерфейс и остановку итерирования
  • _.forIn [11] для итерирования по собственным и унаследованным свойствам объектов
  • _.forOwn [12] для итерирования только по собственным свойствам объекта
  • _.isPlainObject [13] проверяет, было ли значение создано с помощью конструктора Object
  • _.lateBind [14] для позднего связывания
  • _.merge [15]“глубокий” аналог _.extend [16]
  • _.partial [17] для карринга без связывания this
  • _.pick [18] и _.omit [19] принимают аргументы callback и thisArg
  • _.template [20] использует sourceURLs [21] для более простой отладки
  • _.contains [22], _.size [23], _.toArray [24], и т.д.… [25] принимают и строки тоже

Индивидуальные сборки

Поддержка индивидуальных сборок позволяет легко создавать облегчённые версии Lo-Dash, содержащие только необходимые вам методы. Также Lo-Dash поддерживает за вас зависимости методов и псевдонимы.

  • Сборка, содержащая всё необходимое для работы Backbone [26], может быть создана с модификатором backbone.
    lodash backbone
    
  • Content Security Policy [27] сборка.
    lodash csp
    
  • Сборка для старых браузеров без поддержки ES5 [28].
    lodash legacy
    
  • Сборки для мобильных платформ, без баг-фиксов для IE < 9 и компиляции методов.
    lodash mobile
    
  • Strict-сборки, с использованием strict mode [29] для _.bindAll, _.defaults, and _.extend.
    lodash strict
    
  • Underscore-сборка, для тех, кто уже используется Underscore в своих проектах.
    lodash underscore
    

и т.д. [30]

Куда пойти, куда податься?

Автор: wickedweasel

Источник [36]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/19402

Ссылки в тексте:

[1] Lo-Dash: http://lodash.com/

[2] *: https://github.com/bestiejs/lodash/wiki/Drop-in-Disclaimer

[3] Underscore.js: http://underscorejs.org/

[4] jsPerf.com: http://jsperf.com

[5] багов: https://github.com/bestiejs/lodash#resolved-underscorejs-issues

[6] AMD-загрузчиков: http://habrahabr.ru/post/152833/

[7] RequireJS: http://requirejs.org/

[8] curl.js: https://github.com/cujojs/curl

[9] _.clone: http://lodash.com/docs#clone

[10] _.forEach: http://lodash.com/docs#forEach

[11] _.forIn: http://lodash.com/docs#forIn

[12] _.forOwn: http://lodash.com/docs#forOwn

[13] _.isPlainObject: http://lodash.com/docs#isPlainObject

[14] _.lateBind: http://lodash.com/docs#lateBind

[15] _.merge: http://lodash.com/docs#merge

[16] _.extend: http://lodash.com/docs#extend

[17] _.partial: http://lodash.com/docs#partial

[18] _.pick: http://lodash.com/docs#pick

[19] _.omit: http://lodash.com/docs#omit

[20] _.template: http://lodash.com/docs#template

[21] sourceURLs: http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl

[22] _.contains: http://lodash.com/docs#contains

[23] _.size: http://lodash.com/docs#size

[24] _.toArray: http://lodash.com/docs#toArray

[25] и т.д.…: http://lodash.com/docs

[26] Backbone: http://backbonejs.org/

[27] Content Security Policy: http://en.wikipedia.org/wiki/Content_Security_Policy

[28] поддержки ES5: http://es5.github.com/

[29] strict mode: http://es5.github.com/#C

[30] т.д.: http://lodash.com/#custom-builds

[31] Lo-Dash на Github: https://github.com/bestiejs/lodash/

[32] Установка Lo-Dash: http://lodash.com/#installation

[33] Бенчмарки: http://lodash.com/benchmarks

[34] еще бенчмарки на jsPerf.com: http://jsperf.com/search?q=lodash

[35] Юнит-тесты: http://lodash.com/tests

[36] Источник: http://habrahabr.ru/post/157673/