Das WebAssembly JavaScript Objekt existiert als Namensraum für alle WebAssembly-bezogenen Funktionalitäten.

Anders als die meisten anderen globalen Objekte, ist WebAssembly kein Konstruktor (es ist kein Funktionsobjekt). Es kann mit Math verglichen werden, welches ebenfalls einen Namensraum für mathematische Konstanten und Funktionen bildet. Oder mit Intl, welches den Namensraum für die Internationalisierunges API mit sprachabhängigen Funktionen bildet. 

Beschreibung

Die primäre Verwendung des WebAssembly Objekts sind:

Methoden

WebAssembly.instantiate()
Die primäre API für das Kompilieren und Instanziieren des WebAssembly Codes. Der Rückgabewert als Promise ergibt ein Module als auch die erste Instance.
WebAssembly.instantiateStreaming()
Kompiliert und instanziiert ein WebAssembly-Modul direkt aus einer Streamingquelle, mit dem Rückgabewert als Promise ergibt sich ein Module als auch die erste Instance.
WebAssembly.compile()
Kompiliert ein WebAssembly.Module aus dem WebAssembly Binärcode, wodurch die Instanziierung als separater Schritt durchgeführt werden kann.
WebAssembly.compileStreaming()
Kompiliert ein WebAssembly.Module direkt aus einer Streamingquelle, wodurch die Instanziierung als separater Schritt durchgeführt werden kann.
WebAssembly.validate()
Validiert das gegebene, typisierte Array eines WebAssembly Binärcodes. Gibt zurück, ob die Bytes validen WebAssembly Code darstellen (true) oder nicht (false).

Konstruktoren

WebAssembly.Global()
Erzeugt ein neues WebAssembly Global Objekt.
WebAssembly.Module()
Erzeugt ein neues WebAssembly Module Objekt.
WebAssembly.Instance()
Erzeugt ein neues WebAssembly Instance Objekt.
WebAssembly.Memory()
Erzeugt ein neues WebAssembly Memory Objekt.
WebAssembly.Table()
Erzeugt ein neues WebAssembly Table Objekt.
WebAssembly.CompileError()
Erzeugt ein neues WebAssembly CompileError Objekt.
WebAssembly.LinkError()
Erzeugt ein neues WebAssembly LinkError Objekt.
WebAssembly.RuntimeError()
Erzeugt ein neues WebAssembly RuntimeError Objekt.

Beispiele

Das folgende Beispiel (siehe instantiate-streaming.html Demo auf GitHub, siehe auch live) streamt ein .wasm Modul direkt aus einer zugrunde liegenden Quelle, um es dann zu kompilieren und zu instanziieren. Das Promise erfüllt sich mit einem ResultObject. Weil die instantiateStreaming() Funktion ein Promise für ein Response akzeptiert, kann ihr ein WindowOrWorkerGlobalScope.fetch() direkt übergeben werden, welches die Antwort an die Funktion weitergibt, sobald das Promise sich erfüllt.

var importObject = { imports: { imported_func: arg => console.log(arg) } };

WebAssembly.instantiateStreaming(fetch('simple.wasm'), importObject)
.then(obj => obj.instance.exports.exported_func());

Auf die ResultObject Instanz wird damit zugegriffen und die beinhaltete, exportierte Funktion aufgerufen.

Spezifikationen

Specification Status Comment
WebAssembly JavaScript Interface
Die Definition von 'WebAssembly' in dieser Spezifikation.
Arbeitsentwurf Initial draft definition.

Browserkompatibilität

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid WebviewChrome für AndroidEdge MobileFirefox für AndroidOpera für AndroidSafari auf iOSSamsung InternetNode.js
Grundlegende UnterstützungChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0
CompileErrorChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0
GlobalChrome Vollständige Unterstützung 69Edge Keine Unterstützung NeinFirefox Vollständige Unterstützung 62IE Keine Unterstützung NeinOpera Keine Unterstützung NeinSafari Keine Unterstützung NeinWebView Android Vollständige Unterstützung 69Chrome Android Vollständige Unterstützung 69Edge Mobile Keine Unterstützung NeinFirefox Android Vollständige Unterstützung 62Opera Android Keine Unterstützung NeinSafari iOS Keine Unterstützung NeinSamsung Internet Android Keine Unterstützung Neinnodejs Keine Unterstützung Nein
InstanceChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0
LinkErrorChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0
MemoryChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0
ModuleChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0
RuntimeErrorChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0
TableChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0
compileChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android Vollständige Unterstützung 44Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0
compileStreamingChrome Vollständige Unterstützung 61Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 58IE Keine Unterstützung NeinOpera Vollständige Unterstützung 47Safari Keine Unterstützung NeinWebView Android Vollständige Unterstützung 61Chrome Android Vollständige Unterstützung 61Edge Mobile Keine Unterstützung NeinFirefox Android Vollständige Unterstützung 58Opera Android ? Safari iOS Keine Unterstützung NeinSamsung Internet Android Keine Unterstützung Neinnodejs Keine Unterstützung Nein
instantiateChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0
instantiateStreamingChrome Vollständige Unterstützung 61Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 58IE Keine Unterstützung NeinOpera Vollständige Unterstützung 47Safari Keine Unterstützung NeinWebView Android Vollständige Unterstützung 61Chrome Android Vollständige Unterstützung 61Edge Mobile Keine Unterstützung NeinFirefox Android Vollständige Unterstützung 58Opera Android ? Safari iOS Keine Unterstützung NeinSamsung Internet Android Keine Unterstützung Neinnodejs Keine Unterstützung Nein
validateChrome Vollständige Unterstützung 57Edge Vollständige Unterstützung 16Firefox Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
IE Keine Unterstützung NeinOpera Vollständige Unterstützung 44Safari Vollständige Unterstützung 11WebView Android Vollständige Unterstützung 57Chrome Android Vollständige Unterstützung 57Edge Mobile Vollständige Unterstützung Ja
Deaktiviert
Vollständige Unterstützung Ja
Deaktiviert
Deaktiviert This feature is behind the Experimental JavaScript Features preference.
Firefox Android Vollständige Unterstützung 52
Hinweise
Vollständige Unterstützung 52
Hinweise
Hinweise Disabled in the Firefox 52 Extended Support Release (ESR).
Opera Android ? Safari iOS Vollständige Unterstützung 11Samsung Internet Android Vollständige Unterstützung 7.0nodejs Vollständige Unterstützung 8.0.0

Legende

Vollständige Unterstützung  
Vollständige Unterstützung
Keine Unterstützung  
Keine Unterstützung
Kompatibilität unbekannt  
Kompatibilität unbekannt
Siehe Implementierungshinweise.
Siehe Implementierungshinweise.
Benutzer muss dieses Feature explizit aktivieren.
Benutzer muss dieses Feature explizit aktivieren.

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Mitwirkende an dieser Seite: mdnwebdocs-bot, vssn
Zuletzt aktualisiert von: mdnwebdocs-bot,