Underscore 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
| |
---|---|
Datei:Underscore 230.png | |
Basisdaten
| |
Entwickler | Jeremy Ashkenas, DocumentCloud sowie Investigative Reporters & Editors |
Erscheinungsjahr | 2009 |
Aktuelle Version | 1.5.1 (8. Juli 2013) |
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
Zur Prüfung der Browser-Kompatibilität steht eine eigene Test-Suite bereit[1], die eine Kompatibilität zu Internet Explorer ab Version 6.0 sowie Chrome 28, Opera 12 und Firefox 22 ergab (alle getestet auf Windows 7 64 Bit respektive mit IETester[2]).
Zur Sicherung der bestmöglichen Performance werden Underscore-intern aktuelle Sprachelemente eingesetzt, sofern diese auf der jeweiligen Plattform vorhanden sind. So delegiert beispielsweise die Funktion _.each() an die native Umsetzung von Array.prototype.forEach(), sofern diese existiert, ansonsten stellt Underscore eine eigene Implementierung bereit.
Trivia
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.“
Einzelnachweise
- ↑ 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).