--- 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 ---
{{JSRef}}

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()")}}.

Syntaxe

Important : 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);

Paramètres

module
L'objet WebAssembly.Module qu'on souhaite instancier.
importObject {{optional_inline}}
Un objet qui contient des valeurs à importer dans l'instance. Ce peuvent être des fonctions ou des objets 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.

Instances d'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.

Propriétés

{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/WebAssembly/Instance/prototype', 'Propriétés')}}

Méthodes

{{page('/fr/docs/Web/JavaScript/Reference/Objets_globaux/WebAssembly/Instance/prototype', 'Méthodes')}}

Spécifications

Spécification État Commentaires
{{SpecName('WebAssembly JS', '#webassemblyinstance-objects', 'Instance')}} {{Spec2('WebAssembly JS')}} Définition initiale dans un brouillon de spécification.

Compatibilité des navigateurs

{{Compat("javascript.builtins.WebAssembly.Instance")}}

Voir aussi