Zum Inhalt springen

„Underscore.js“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Aktuelle Version via Wikidata; Alternativen: +Lodash; tk
 
Zeile 4: Zeile 4:
| Hersteller = [[Jeremy Ashkenas]], DocumentCloud sowie Investigative Reporters & Editors
| Hersteller = [[Jeremy Ashkenas]], DocumentCloud sowie Investigative Reporters & Editors
| Erscheinungsjahr = 2009
| Erscheinungsjahr = 2009
| AktuelleVersion = 1.8.3
| AktuelleVersion = <!-- Wikkdata -->
| AktuelleVersionFreigabeDatum = 2. April 2015
| AktuelleVorabVersion =
| AktuelleVorabVersionFreigabeDatum =
| Betriebssystem = [[Plattformunabhängigkeit|plattformunabhängig]]
| Betriebssystem = [[Plattformunabhängigkeit|plattformunabhängig]]
| Programmiersprache = [[JavaScript]]
| Programmiersprache = [[JavaScript]]
Zeile 18: Zeile 15:
'''Underscore.js''' oder kurz '''Underscore''' (für engl. [[Unterstrich]]) ist eine [[Freie Software|freie]] [[JavaScript]]-[[Programmbibliothek|Bibliothek]] mit Hilfsfunktionen für alltägliche JavaScript-Aufgaben.
'''Underscore.js''' oder kurz '''Underscore''' (für engl. [[Unterstrich]]) ist eine [[Freie Software|freie]] [[JavaScript]]-[[Programmbibliothek|Bibliothek]] mit Hilfsfunktionen für alltägliche JavaScript-Aufgaben.
Es wurde 2009 von [[Jeremy Ashkenas]] ([[Backbone.js]], [[CoffeeScript]]) als Werkzeugsammlung für [[Container (Informatik)|Container]]-Operationen auf [[Feld (Datentyp)|Arrays]] und [[Objekt (Programmierung)|Objekten]] sowie von JavaScript-[[Funktion (Programmierung)|Funktionen]] geschaffen.
Es wurde 2009 von [[Jeremy Ashkenas]] ([[Backbone.js]], [[CoffeeScript]]) als Werkzeugsammlung für [[Container (Informatik)|Container]]-Operationen auf [[Feld (Datentyp)|Arrays]] und [[Objekt (Programmierung)|Objekten]] sowie von JavaScript-[[Funktion (Programmierung)|Funktionen]] geschaffen.
Der Name der Bibliothek rührt vom für sie reservierten globalen Objekt _ (Underscore ist {{enS}} für das Zeichen [[Unterstrich]]) analog zum Objekt $ in [[jQuery]] her.
Der Name der Bibliothek rührt vom für sie reservierten globalen Objekt <code>_</code> (Underscore ist {{enS}} für das Zeichen [[Unterstrich]]) analog zum Objekt <code>$</code> in [[jQuery]] her.


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


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.
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 ==
Seit 2009 besteht das Projekt '''[[Lodash]]''' und stellt eine [[Übermenge]] der von Underscore.js angebotenen Funktionalität bereit.<ref>{{GitHub|lodash/lodash|Lodash}}</ref><ref>{{Internetquelle |autor= |url=https://stackoverflow.com/questions/13789618/differences-between-lodash-and-underscore-js |titel=Differences between Lodash and Underscore.js |werk=[[Stack Overflow (Website)|Stack Overflow]] |hrsg= |datum=2012-12-16 |abruf=2021-01-26 |sprache=}}</ref>


== Trivia ==
== Trivia ==

Aktuelle Version vom 27. Januar 2021, 00:42 Uhr

Underscore.js

Logo
Basisdaten

Entwickler Jeremy Ashkenas, DocumentCloud sowie Investigative Reporters & Editors
Erscheinungsjahr 2009
Aktuelle Version 1.13.7[1]
(24. Juli 2024)
Betriebssystem plattformunabhängig
Programmier­sprache JavaScript
Kategorie JavaScript-Bibliothek
Lizenz MIT-Lizenz (Freie Software)
deutschsprachig nein
underscorejs.org

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 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 | Quelltext bearbeiten]

Zur 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.

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

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 | Quelltext bearbeiten]
  1. Release 1.13.7. 24. Juli 2024 (abgerufen am 28. Juli 2024).
  2. Underscore Test Suite. Abgerufen am 6. August 2013 (englisch).
  3. 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).
  4. Lodash auf GitHub
  5. Differences between Lodash and Underscore.js. In: Stack Overflow. 16. Dezember 2012, abgerufen am 26. Januar 2021.