WebAssembly.Instance()

Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

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 WebAssembly.Module donné. Toutefois, pour obtenir une instance, on utilisera généralement la fonction asynchrone WebAssembly.instantiate().

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 WebAssembly.instantiate() qui devrait être utilisée.

var monInstance = new WebAssembly.Instance(module, importObject);

Paramètres

module
L'objet WebAssembly.Module qu'on souhaite instancier.
importObject Facultatif
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

Instance.prototype.constructor
Renvoie la fonction qui a créé l'instance de l'objet. Par défaut, c'est le constructeur WebAssembly.Instance().
Instance.prototype.exports Lecture seule
Renvoie un objet dont les propriétés sont l'ensemble des fonctions exportées depuis l'instance du module WebAssembly. Cela permet d'y accéder et de les manipuler depuis du code JavaScript.

Méthodes

Aucune.

Spécifications

Spécification État Commentaires
Web Assembly JavaScript API
La définition de 'Instance' dans cette spécification.
Projet Définition initiale dans un brouillon de spécification.

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support simple 57 15[2] 52 (52)[1] Pas de support 44 11
Fonctionnalité Chrome pour Android Webview Android Edge Mobile Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support simple 57 57 Pas de support 52.0 (52)[1] Pas de support Pas de support 11

[1] WebAssembly est activé à partir de Firefox 52+ mais est désactivée pour la version Firefox 52 Extended Support Release (ESR).

[2] Actuellement pris en charge via la préférence Fonctionnalités JavaScript expérimentales, voir ce billet (en anglais) pour plus d'informations.

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight
 Dernière mise à jour par : SphinxKnight,