Underscore.js
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
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Jeremy Ashkenas, DocumentCloud sowie Investigative Reporters & Editors |
Erscheinungsjahr | 2009 |
Aktuelle Version | 1.13.7[1] (24. Juli 2024) |
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
BearbeitenZur Prüfung der Browser-Kompatibilität steht eine eigene Test-Suite bereit[2], 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[3]).
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
BearbeitenSeit 2009 besteht das Projekt Lodash und stellt eine Übermenge der von Underscore.js angebotenen Funktionalität bereit.[4][5]
Trivia
BearbeitenDie 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.“
Einzelnachweise
Bearbeiten- ↑ Release 1.13.7. 24. Juli 2024 (abgerufen am 28. Juli 2024).
- ↑ Underscore Test Suite. Abgerufen am 6. August 2013 (englisch).
- ↑ 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).
- ↑ Lodash auf GitHub
- ↑ Differences between Lodash and Underscore.js. In: Stack Overflow. 16. Dezember 2012, abgerufen am 26. Januar 2021.