[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/JavaScript_technologies_overview [Back]  [Original]

berblick ber JavaScript-Technologien - JavaScript | MDN

Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.

View in English Always switch to English

berblick ber JavaScript-Technologien

Whrend HTML die Struktur und den Inhalt einer Webseite definiert und CSS das Format und das Erscheinungsbild festlegt, verleiht JavaScript einer Webseite Interaktivitt und ermglicht die Erstellung umfangreicher Webanwendungen.

Der Sammelbegriff "JavaScript" im Kontext eines Webbrowsers umfasst jedoch mehrere sehr unterschiedliche Elemente. Eines davon ist die Kernsprache (ECMAScript), ein anderes ist die Sammlung der Web-APIs, einschlielich des DOM (Document Object Model).

In diesem Artikel

JavaScript, die Kernsprache (ECMAScript)

Die Kernsprache von JavaScript wird vom ECMA TC39-Komitee als eine Sprache namens ECMAScript standardisiert. "ECMAScript" ist der Begriff fr die Sprachstandardisierung, aber "ECMAScript" und "JavaScript" knnen synonym verwendet werden.

Diese Kernsprache wird auch in nicht-browserbasierten Umgebungen verwendet, zum Beispiel in Node.js.

Was fllt unter den ECMAScript-Bereich?

Unter anderem definiert ECMAScript:

  • Sprachsyntax (Parsing-Regeln, Schlsselwrter, Kontrollfluss, Initialisierung von Objektliteralen, ...)
  • Fehlerbehandlungsmethoden (throw, try...catch, Mglichkeit zur Erstellung benutzerdefinierter Error-Typen)
  • Typen (boolean, number, string, function, object, ...)
  • Ein prototypbasiertes Vererbungsmechanismus
  • Eingebaute Objekte und Funktionen, einschlielich JSON, Math, Array-Methoden, parseInt, decodeURI, usw.
  • Strikter Modus
  • Ein Modulsystem
  • Grundlegendes Speichermodell

Standardisierungsprozess

ECMAScript-Ausgaben werden jhrlich vom ECMA-Generalversammlung als Standard genehmigt und verffentlicht. Die gesamte Entwicklung erfolgt ffentlich auf der Ecma TC39 GitHub-Organisation, die Vorschlge, den offiziellen Spezifikationstext und Sitzungsnotizen hostet.

Vor der 6. Ausgabe von ECMAScript (bekannt als ES6) wurden Spezifikationen alle paar Jahre verffentlicht und werden hufig anhand ihrer Hauptversionsnummern bezeichnet ES3, ES5 usw. Nach ES6 wird die Spezifikation nach dem Verffentlichungsjahr benannt ES2017, ES2018 usw. ES6 ist synonym mit ES2015. ESNext ist ein dynamischer Name, der sich auf die jeweils nchste Version zum Zeitpunkt des Schreibens bezieht. ESNext-Funktionen werden korrekterweise als Vorschlge bezeichnet, da die Spezifikation per Definition noch nicht abschlieend ist.

Der aktuelle, vom Komitee genehmigte Snapshot von ECMA-262 ist im PDF- und HTML-Format auf der ECMA-262 Sprachspezifikationsseite von Ecma International verfgbar. ECMA-262 und ECMA-402 werden kontinuierlich von den Spezifikationseditoren gepflegt und auf dem neuesten Stand gehalten; die TC39-Website hostet die neuesten, aktuellen Versionen ECMA-262 und ECMA-402.

Neue Sprachfunktionen, einschlielich Einfhrung neuer Syntaxe und APIs sowie berarbeitung bestehender Verhaltensweisen, werden in Form von Vorschlgen diskutiert. Jeder Vorschlag durchluft einen 4-Stufen-Prozess und wird typischerweise von JavaScript-Engines in Stufe 3 oder Stufe 4 implementiert und ist somit fr die ffentliche Nutzung verfgbar.

Weitere Informationen zur Geschichte von ECMAScript finden Sie im Wikipedia ECMAScript-Eintrag.

Internationalisierungs-API

Die ECMAScript Internationalization API Specification ist eine Ergnzung zur ECMAScript Language Specification und wird ebenfalls von Ecma TC39 standardisiert. Die Internationalisierungs-API bietet Collation (Zeichenfolgenvergleich), Zahlenformatierung und Datums- und Zeitformatierung fr JavaScript-Anwendungen, sodass die Anwendungen die Sprache whlen und die Funktionalitt an ihre Bedrfnisse anpassen knnen. Der ursprngliche Standard wurde im Dezember 2012 genehmigt; der Status der Implementierungen in Browsern wird in der Dokumentation des Intl-Objekts nachverfolgt. Die Internationalisierungs-Spezifikation wird heutzutage ebenfalls jhrlich ratifiziert und Browser verbessern stndig ihre Implementierung.

Verwandte Ressourcen

Es gibt verschiedene Mglichkeiten, sich an der aktuellen Arbeit an der ECMAScript-Language-Specification und der ECMAScript-Internationalisierungs-API-Specification sowie an verwandten Ressourcen zu beteiligen oder diese einfach nur zu verfolgen:

DOM-APIs

WebIDL

Die WebIDL-Spezifikation stellt die Verbindung zwischen den DOM-Technologien und ECMAScript her.

Der Kern des DOM

Das Document Object Model (DOM) ist eine plattformbergreifende, sprachunabhngige Konvention zur Darstellung und Interaktion mit Objekten in HTML-, XHTML- und XML-Dokumenten. Objekte im DOM-Baum knnen durch Methoden auf den Objekten angesprochen und manipuliert werden. Heutzutage wird die DOM Core-Spezifikation von WHATWG gepflegt (ersetzt die W3C-Version). Sie definiert sprachunabhngige Schnittstellen, die HTML- und XML-Dokumente als Objekte abstrahieren, und definiert auch Mechanismen, um diese Abstraktion zu manipulieren. Dazu gehren: Node, Element, DocumentFragment, Document, DOMImplementation, Event, EventTarget, und mehr.

Aus ECMAScript-Sicht werden die in der DOM-Spezifikation definierten Objekte als "Hostobjekte" bezeichnet.

HTML DOM

HTML, die Markup-Sprache des Webs, wird im Sinne des DOM spezifiziert. Oberhalb der im DOM Core definierten abstrakten Konzepte definiert HTML auch die Bedeutung der Elemente. Das HTML-DOM umfasst Dinge wie die className-Eigenschaft an HTML-Elementen oder APIs wie Document.body.

Die HTML-Spezifikation definiert auch Einschrnkungen fr Dokumente; zum Beispiel fordert sie, dass alle Kinder eines <ul>-Elements, das eine ungeordnete Liste darstellt, <li>-Elemente sein mssen, da diese Listeneintrge reprsentieren. Im Allgemeinen verbietet sie auch die Verwendung von Elementen und Attributen, die nicht in einem Standard definiert sind.

Suchen Sie nach dem Document-Objekt, Window-Objekt und den anderen DOM-Elementen? Lesen Sie die DOM-Dokumentation.

Andere bemerkenswerte APIs

Nicht-Browser-Umgebungen (wie Node.js) haben oft keine DOM-APIs da sie nicht mit einem Dokument interagieren , aber sie implementieren in der Regel viele Web-APIs, wie fetch() und setTimeout().

JavaScript-Implementierungen

In aktuellen Webbrowsern verwendete JavaScript-Engines umfassen:

  • Mozillas SpiderMonkey, verwendet in Firefox, Servo und Flow. Andere nicht-browserbasierte Verwendungen umfassen MongoDB, CouchDB und mehr. Dies war die erste JavaScript-Engine, erstellt von Brendan Eich bei Netscape.
  • Googles V8, verwendet in Chrome und Chromium-basierten Browsern wie Opera, Edge und Brave. Andere nicht-browserbasierte Verwendungen umfassen Node.js, Deno, Electron und mehr.
  • Apples JavaScriptCore (auch bekannt als SquirrelFish/Nitro), verwendet in Safari und anderen WebKit-basierten Browsern. Andere nicht-browserbasierte Verwendungen umfassen Bun.
  • LibJS, verwendet in Ladybird.

Einige JavaScript-Engines, die in frheren Browsern verwendet wurden, umfassen:

  • Carakan, verwendet in Opera, bevor es ein Chromium-basierter Browser wurde.
  • Microsofts Chakra, verwendet in Internet Explorer (obwohl die Sprache, die es implementiert, formal "JScript" genannt wird, um Markenprobleme zu vermeiden). Frhere Versionen von Edge verwendeten eine andere JavaScript-Engine, verwirrenderweise ebenfalls [Chakra](https://en.wikipedia.org/wiki/Chakra_(JavaScript_engine) genannt), bevor es ein Chromium-basierter Browser wurde.

Einige JavaScript-Engines, die speziell fr nicht-browserbasierte Zwecke angepasst wurden, umfassen:

  • Engine262, geschrieben in JavaScript und im Wesentlichen als Referenzimplementierung der Sprache gedacht.
  • Metas Hermes, optimiert fr React Native.
  • Mozillas Rhino, geschrieben in Java.
  • Oracles GraalJS, geschrieben in Java und basiert auf GraalVM.
  • Moddable XS, gedacht fr IoT/Embedded Systems.
  • QuickJS, gedacht als klein und leichtgewichtig.

JavaScript-Engines bieten eine ffentliche API, die Anwendungsentwickler nutzen knnen, um JavaScript in ihre Software zu integrieren. Bei weitem die hufigste Hostumgebung fr JavaScript sind Webbrowser. Webbrowser verwenden typischerweise die ffentliche API, um Hostobjekte zu erstellen, die dafr verantwortlich sind, das DOM in JavaScript zu reflektieren.

Eine weitere hufige Anwendung fr JavaScript ist als (Web-)Server-seitige Skriptsprache. Ein JavaScript-Webserver stellt Hostobjekte bereit, die eine HTTP-Anfrage und Antwortobjekte darstellen, die dann von einem JavaScript-Programm manipuliert werden knnen, um dynamisch Webseiten zu erstellen. Node.js ist ein populres Beispiel dafr.

Shells

Eine JavaScript-Shell ermglicht es Ihnen, schnell JavaScript-Codeschnipsel zu testen, ohne eine Webseite neu laden zu mssen. Sie sind uerst ntzlich zum Entwickeln und Debuggen von Code.

Standalone JavaScript-Shells

Die folgenden JavaScript-Shells sind eigenstndige Umgebungen wie Perl oder Python.

  • Node.js - Node.js ist eine Plattform zum einfachen Erstellen schneller, skalierbarer Netzwerk-Anwendungen.
  • ShellJS - Portierbare Unix-Shell-Befehle fr Node.js.

Browserbasierte JavaScript-Shells

Die folgenden JavaScript-Shells fhren Code ber die JavaScript-Engine des Browsers aus.

  • Firefox verfgt ber eine eingebaute JavaScript-Konsole, die Multiline-Bearbeitung untersttzt.
  • Babel REPL - Eine browserbasierte REPL zum Experimentieren mit zuknftigen JavaScript-Versionen.
  • TypeScript playground Ein browserbasiertes Spielzimmer zum Experimentieren mit neuen JavaScript-Funktionen (ber den tsc-Compiler) und TypeScript-Syntax.

Werkzeuge & Ressourcen

Hilfreiche Werkzeuge zum Schreiben und Debuggen Ihres JavaScript-Codes.

Firefox Developer Tools

Webkonsole, JavaScript Profiler, Debugger und mehr.

Learn JavaScript

Eine ausgezeichnete Ressource fr angehende Webentwickler Lernen Sie JavaScript in einer interaktiven Umgebung, mit kurzen Lektionen und interaktiven Tests, geleitet durch eine automatisierte Bewertung. Die ersten 40 Lektionen sind kostenlos, und der vollstndige Kurs ist fr eine kleine Einmalzahlung verfgbar.

TogetherJS

Zusammenarbeit leicht gemacht. Indem Sie TogetherJS zu Ihrer Website hinzufgen, knnen Ihre Benutzer sich in Echtzeit auf einer Website helfen!

Stack Overflow

Stack Overflow Fragen, die mit "JavaScript" getaggt sind.

JSFiddle

Bearbeiten Sie JavaScript, CSS und HTML und erhalten Sie Live-Ergebnisse. Verwenden Sie externe Ressourcen und arbeiten Sie mit Ihrem Team online zusammen.

Plunker

Plunker ist eine Online-Community zur Erstellung, Zusammenarbeit und zum Teilen Ihrer Webentwicklungs-Ideen. Bearbeiten Sie Ihre JavaScript-, CSS- und HTML-Dateien und erhalten Sie Live-Ergebnisse und Dateistruktur.

JS Bin

JS Bin ist ein Open-Source-Kollaboratives-Webentwicklungs-Debugging-Tool.

CodePen

CodePen ist ein weiteres kollaboratives Webentwicklungstool, das als Live-Ergebnis-Spielplatz verwendet wird.

StackBlitz

StackBlitz ist ein weiteres Online-Spielplatz-/Debugging-Werkzeug, das vollstndige Anwendungen mit React, Angular usw. hosten und bereitstellen kann.

RunJS

RunJS ist ein Desktop-Spielplatz-/Notizblock-Werkzeug, das Live-Ergebnisse und Zugriff sowohl auf Node als auch auf Browser-APIs bietet.


Web Proxy Viewer  |  New URL  |  Original Page