Zum Hauptinhalt springen

Dokumentation

V8 ist Googles quelloffene, hochleistungsfähige JavaScript- und WebAssembly-Engine, geschrieben in C++. Sie wird unter anderem in Chrome und Node.js verwendet.

Diese Dokumentation richtet sich an C++-Entwickler, die V8 in ihren Anwendungen verwenden möchten, sowie an alle, die an Design und Leistung von V8 interessiert sind. Dieses Dokument bietet eine Einführung in V8, während die übrige Dokumentation zeigt, wie man V8 in Code verwendet, einige Details zum Design beschreibt und eine Reihe von JavaScript-Benchmarks zur Messung der Leistung von V8 bereitstellt.

Über V8

V8 implementiert ECMAScript und WebAssembly und läuft auf Windows-, macOS- und Linux-Systemen, die x64-, IA-32- oder ARM-Prozessoren verwenden. Zusätzliche Systeme (IBM i, AIX) und Prozessoren (MIPS, ppcle64, s390x) werden extern gewartet, siehe Ports. V8 kann in jede C++-Anwendung eingebettet werden.

V8 kompiliert und führt JavaScript-Quellcode aus, verwaltet Speicherzuteilung für Objekte und führt eine Garbage Collection durch, um Objekte zu entfernen, die nicht mehr benötigt werden. Der stop-the-world, generative und genaue Garbage Collector von V8 ist einer der Schlüssel zu seiner Leistung.

JavaScript wird häufig für clientseitiges Scripting in einem Browser verwendet, beispielsweise zur Manipulation von Document Object Model (DOM)-Objekten. Das DOM wird jedoch normalerweise nicht von der JavaScript-Engine bereitgestellt, sondern von einem Browser. Gleiches gilt für V8 — Google Chrome stellt das DOM bereit. V8 bietet jedoch alle Datentypen, Operatoren, Objekte und Funktionen, die im ECMA-Standard angegeben sind.

V8 ermöglicht es jeder C++-Anwendung, ihre eigenen Objekte und Funktionen für JavaScript-Code verfügbar zu machen. Es liegt an Ihnen, zu entscheiden, welche Objekte und Funktionen Sie JavaScript bereitstellen möchten.

Übersicht über die Dokumentation