Die V8 JavaScript Engine
V8 ist der Name der JavaScript-Engine, die Google Chrome antreibt. Sie ist das, was unser JavaScript nimmt und es während des Browsens mit Chrome ausführt.
V8 ist die JavaScript-Engine, d. h. sie parst und führt JavaScript-Code aus. Das DOM und die anderen Web Platform APIs (sie alle bilden die Laufzeitumgebung) werden vom Browser bereitgestellt.
Das Coole daran ist, dass die JavaScript-Engine unabhängig von dem Browser ist, in dem sie gehostet wird. Dieses Hauptmerkmal ermöglichte den Aufstieg von Node.js. V8 wurde als die Engine ausgewählt, die Node.js im Jahr 2009 antreiben sollte, und als die Popularität von Node.js explodierte, wurde V8 zur Engine, die nun eine unglaubliche Menge an serverseitigem Code antreibt, der in JavaScript geschrieben wurde.
Das Node.js-Ökosystem ist riesig und dank V8, das auch Desktop-Anwendungen mit Projekten wie Electron antreibt.
Andere JS Engines
Andere Browser haben ihre eigene JavaScript-Engine:
SpiderMonkey
(Firefox)JavaScriptCore
(auchNitro
genannt) (Safari)- Edge basierte ursprünglich auf
Chakra
, wurde aber in letzter Zeit mit Chromium und der V8-Engine neu aufgebaut.
und viele andere existieren ebenfalls.
Alle diese Engines implementieren den ECMA ES-262 Standard, auch ECMAScript genannt, den Standard, der von JavaScript verwendet wird.
Das Streben nach Leistung
V8 ist in C++ geschrieben und wird ständig verbessert. Es ist portabel und läuft auf Mac, Windows, Linux und verschiedenen anderen Systemen.
In dieser V8-Einführung werden wir die Implementierungsdetails von V8 ignorieren: Sie können auf maßgeblicheren Seiten (z. B. der offiziellen V8-Seite) gefunden werden und sie ändern sich im Laufe der Zeit oft radikal.
V8 entwickelt sich ständig weiter, genau wie die anderen JavaScript-Engines, um das Web und das Node.js-Ökosystem zu beschleunigen.
Im Web gibt es seit Jahren ein Rennen um Leistung, und wir (als Benutzer und Entwickler) profitieren sehr von diesem Wettbewerb, weil wir Jahr für Jahr schnellere und optimiertere Maschinen erhalten.
Kompilierung
JavaScript wird im Allgemeinen als interpretierte Sprache betrachtet, aber moderne JavaScript-Engines interpretieren JavaScript nicht mehr nur, sie kompilieren es.
Dies geschieht seit 2009, als der SpiderMonkey JavaScript-Compiler zu Firefox 3.5 hinzugefügt wurde und alle dieser Idee folgten.
JavaScript wird intern von V8 mit Just-in-Time (JIT)-Kompilierung kompiliert, um die Ausführung zu beschleunigen.
Das mag kontraintuitiv erscheinen, aber seit der Einführung von Google Maps im Jahr 2004 hat sich JavaScript von einer Sprache, die im Allgemeinen ein paar Dutzend Codezeilen ausführte, zu vollständigen Anwendungen mit Tausenden bis Hunderttausenden von Zeilen entwickelt, die im Browser laufen.
Unsere Anwendungen können jetzt stundenlang in einem Browser laufen, anstatt nur ein paar Formularvalidierungsregeln oder einfache Skripte zu sein.
In dieser neuen Welt ist das Kompilieren von JavaScript absolut sinnvoll, denn auch wenn es etwas länger dauern kann, bis das JavaScript fertig ist, ist es danach viel performanter als rein interpretierter Code.