Dieses Kapitel behandelt JavaScript-Bibliotheken. Es erklärt zuerst, was Shims und Polyfills sind, zwei spezielle Arten von Bibliotheken. Dann listet es einige Kernbibliotheken auf. Zuletzt verweist es auf zusätzliche ressourcenbezogene Bibliotheken.
Shims und Polyfills sind Bibliotheken, die neuere Funktionalitäten auf älteren JavaScript-Engines nachrüsten:
Ein Polyfill ist ein Shim für eine Browser-API. Er prüft typischerweise, ob ein Browser eine API unterstützt. Wenn nicht, installiert der Polyfill seine eigene Implementierung. Das erlaubt Ihnen, die API in beiden Fällen zu nutzen. Der Begriff Polyfill stammt von einem Heimwerkerprodukt; laut Remy Sharp
Polyfilla ist ein britisches Produkt, das in den USA als Spachtelmasse bekannt ist. In diesem Sinne: stellen Sie sich Browser als eine Wand mit Rissen vor. Diese [Polyfills] helfen, die Risse zu glätten und geben uns eine schöne, glatte Wand von Browsern zum Arbeiten.
Beispiele sind
Die folgenden Bibliotheken sind ziemlich etabliert und nah an der Sprache. Es ist nützlich, sich ihrer bewusst zu sein:
Die ECMAScript Internationalization API ist eine standardmäßige JavaScript-API, die bei Aufgaben im Zusammenhang mit der Internationalisierung hilft: Sortieren (Sortieren und Suchen von Zeichenketten), Formatieren von Zahlen und Formatieren von Datum und Uhrzeit. Dieser Abschnitt gibt einen kurzen Überblick und verweist Sie auf weiteres Lesematerial.
Die erste Edition der API bietet folgende Dienste
Zahlenformatierung. Zu den Parametern gehören
Datums- und Uhrzeitformatierung. Zu den Parametern gehören
Die meisten Funktionalitäten werden über ein Objekt in der globalen Variable Intl aufgerufen, aber die API erweitert auch die folgenden Methoden
String.prototype.localeCompare
Number.prototype.toLocaleString
Date.prototype.toLocaleString
Date.prototype.toLocaleDateString
Date.prototype.toLocaleTimeString
Die Nummer des Standards „ECMAScript Internationalization API“ (EIA) ist ECMA-402. Er wird von Ecma International gehostet, der Vereinigung, die auch EMCA-262, die ECMAScript-Sprachspezifikation, hostet. Beide Standards werden von TC39 gepflegt. Daher ist EIA so nah an der Sprache, wie man es sein kann, ohne Teil von ECMA-262 zu sein. Die API wurde so konzipiert, dass sie sowohl mit ECMAScript 5 als auch mit ECMAScript 6 funktioniert. Eine Reihe von Konformitätstests ergänzt den Standard und stellt sicher, dass die verschiedenen Implementierungen der API kompatibel sind (ECMA-262 hat eine ähnliche Testsuite).
Die meisten modernen Browser unterstützen es bereits oder sind dabei, es zu unterstützen. David Storey hat eine detaillierte Kompatibilitätstabelle erstellt (die angibt, welche Browser welche Locales und mehr unterstützen).
Die Spezifikation der ECMAScript Internationalization API wird von Norbert Lindenberg herausgegeben. Sie ist in den Formaten PDF, HTML und EPUB erhältlich. Zusätzlich gibt es mehrere umfassende Einführungsartikel
Dieser Abschnitt beschreibt Seiten, die Informationen über JavaScript-Ressourcen sammeln. Es gibt verschiedene Arten solcher Verzeichnisse.
Hier ist eine Liste von allgemeinen Verzeichnissen für JavaScript
Spezialisierte Verzeichnisse umfassen
Offensichtlich können Sie immer direkt die Registrierungen von Paketmanagern durchsuchen
Verzeichnisse für CDNs (Content Delivery Networks) und CDN-Inhalte umfassen
Folgende Personen haben zu diesem Abschnitt beigetragen: Kyle Simpson (@getify), Gildas Lormeau (@check_ca), Fredrik Sogaard (@fredrik_sogaard), Gene Loparco (@gloparco), Manuel Strehl (@m_strehl) und Elijah Manor (@elijahmanor).