--- title: WebAssembly.Module() slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Module tags: - Constructeur - JavaScript - Module - Reference - WebAssembly translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Module original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Module ---
Un objet WebAssembly.Module
contient du code WebAssembly, sans état et qui a déjà été compilé par le navigateur. Ce code peut être partagé avec des web worker et être instancié à plusieurs reprises. Pour instancier le module, on pourra appeler la forme secondaire de {{jsxref("WebAssembly.instantiate()")}}.
Le constructeur WebAssembly.Module()
peut être appelé de façon synchrone pour compiler du code WebAssembly. Toutefois, on utilisera généralement la fonction asynchrone {{jsxref("WebAssembly.compile()")}} qui permet de compiler du bytecode.
Attention : La compilation de modules volumineux peut être consommatrice de ressources et de temps. Le constructeur Module()
doit uniqument être utilisé lorsqu'il faut absolument avoir une compilation synchrone. Pour tous les autres cas de figures, on privilégiera la méthode asynchrone {{jsxref("WebAssembly.compileStreaming()")}}.
var monModule = new WebAssembly.Module(bufferSource);
bufferSource
Module
Module
Toutes les instances de Module
héritent du prototype du constructeur Module()
, celui-ci peut être modifié afin de moifier le comportement de l'ensemble des instances de Module
.
{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/WebAssembly/Module/prototype', 'Propriétés')}}
Les instances de Module
ne disposent pas de méthodes en propre.
Spécification | État | Commentaires |
---|---|---|
{{SpecName('WebAssembly JS', '#webassemblymodule-objects', 'WebAssembly.Module()')}} | {{Spec2('WebAssembly JS')}} | Brouillon de définition initiale. |
{{Compat("javascript.builtins.WebAssembly.Module")}}