Underscore.js

JavaScript-Bibliothek

Underscore.js oder kurz Underscore (für engl. Unterstrich) ist eine freie JavaScript-Bibliothek mit Hilfsfunktionen für alltägliche JavaScript-Aufgaben. Es wurde 2009 von Jeremy Ashkenas (Backbone.js, CoffeeScript) als Werkzeugsammlung für Container-Operationen auf Arrays und Objekten sowie von JavaScript-Funktionen geschaffen. Der Name der Bibliothek rührt vom für sie reservierten globalen Objekt _ (Underscore ist englisch für das Zeichen Unterstrich) analog zum Objekt $ in jQuery her.

Underscore.js

Logo
Basisdaten

Entwickler Jeremy Ashkenas, DocumentCloud sowie Investigative Reporters & Editors
Erscheinungsjahr 2009
Aktuelle Version 1.13.6[1][2]
(23. September 2022)
Betriebssystem plattformunabhängig
Programmiersprache JavaScript
Kategorie JavaScript-Bibliothek
Lizenz MIT-Lizenz (Freie Software)
deutschsprachig nein
underscorejs.org

Underscore folgt dem Paradigma der funktionalen Programmierung und baut komplexe Operationen durch Komposition einfacher Funktionen auf. Dafür verzichtet es auf die ansonsten in JavaScript oft genutzte Erweiterung der Objekt-Prototypen zugunsten einer durchgehenden Hilfsklassen-Semantik.

Browser-Kompatibilität Bearbeiten

Zur Prüfung der Browser-Kompatibilität steht eine eigene Test-Suite bereit[3], die eine Kompatibilität zu Internet Explorer ab Version 6.0 sowie Chrome 28/34, Opera 12/20 und Firefox 22/28 ergab (getestet mit Version 1.5.1 resp. 1.6.0 auf Windows 7 64 Bit respektive mit IETester[4]).

Zur Sicherung der bestmöglichen Performance werden Underscore-intern aktuelle Sprachelemente eingesetzt, sofern diese auf der jeweiligen Plattform vorhanden sind. So delegierte beispielsweise die Funktion _.each() bis Release 1.6.0 an die native Umsetzung von Array.prototype.forEach(), sofern diese existiert, und stellte ansonsten eine eigene Implementierung bereit – seit Release 1.7.0 werden die Array-Methoden durchgängig neu implementiert.

Alternativen Bearbeiten

Seit 2009 besteht das Projekt Lodash und stellt eine Übermenge der von Underscore.js angebotenen Funktionalität bereit.[5][6]

Trivia Bearbeiten

Die Dokumentation beschreibt Underscore so:

“Underscore is a utility-belt library… the tie to go along with jQuery’s tux, and Backbone.js’s suspenders.”

„Underscore ist eine Werkzeuggürtel-Bibliothek,… der zum jQuery-Smoking passende Binder (Schlips) und Tragband (Hosenträger) für Backbone.js.“

Jeremy Ashkenas: http://underscorejs.org

Einzelnachweise Bearbeiten

  1. Release 1.13.6. 23. September 2022 (abgerufen am 5. Oktober 2022).
  2. registry.npmjs.com. In: npmjs. (abgerufen am 3. März 2023).
  3. Underscore Test Suite. Abgerufen am 6. August 2013 (englisch).
  4. Core Services: Browser Compatibility Check for Internet Explorer Versions from 5.5 to 10. Version 0.5.2. 2. April 2013, abgerufen am 6. August 2013 (englisch).
  5. Lodash auf GitHub
  6. Differences between Lodash and Underscore.js. In: Stack Overflow. 16. Dezember 2012, abgerufen am 26. Januar 2021.