--- title: WebAssembly.Instance() slug: Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance tags: - API - Constructeur - JavaScript - Reference - WebAssembly - instance translation_of: Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance original_slug: Web/JavaScript/Reference/Objets_globaux/WebAssembly/Instance ---
Un objet WebAssembly.Instance
représente un objet exécutable, avec un état, qui est une instance d'un module WebAssembly. Un objet Instance
contient l'ensemble des fonctions WebAssembly exportées qui permettent d'invoquer du code WebAssembly depuis du code JavaScript.
Le constructeur WebAssembly.Instance()
peut être appelé afin de créer, de façon synchrone, une instance d'un {{jsxref("WebAssembly.Module")}} donné. Toutefois, pour obtenir une instance, on utilisera généralement la fonction asynchrone {{jsxref("WebAssembly.instantiateStreaming()")}}.
Attention :L'instanciation de modules volumineux peut être coûteuse en temps/ressource. Instance()
ne doit être utilisée que lorsqu'une instanciation synchrone est nécessaire. Pour tous les autres cas, c'est la méthode {{jsxref("WebAssembly.instantiateStreaming()")}} qui devrait être utilisée.
var monInstance = new WebAssembly.Instance(module, importObject);
module
WebAssembly.Module
qu'on souhaite instancier.importObject
{{optional_inline}}WebAssembly.Memory
. Il doit exister une propriété correspondante pour chaque import, si ce n'est pas le cas, un exception WebAssembly.LinkError
sera levée.Instance
Toutes les instances du type Instance
héritent du prototype du constructeur Instance()
. Celui-ci peut être modifié afin de modifier l'ensemble des instances de Instance
.
{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/WebAssembly/Instance/prototype', 'Propriétés')}}
{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/WebAssembly/Instance/prototype', 'Méthodes')}}
Spécification | État | Commentaires |
---|---|---|
{{SpecName('WebAssembly JS', '#webassemblyinstance-objects', 'Instance')}} | {{Spec2('WebAssembly JS')}} | Définition initiale dans un brouillon de spécification. |
{{Compat("javascript.builtins.WebAssembly.Instance")}}