AbstractModuleSource
Un objet AbstractModuleSource représente le code source compilé d'un module obtenu avec import source ou import.source(). Il n'existe pas de constructeur AbstractModuleSource directement visible.
Description
Le constructeur AbstractModuleSource (souvent appelé %AbstractModuleSource% pour indiquer son caractère « intrinsèque », puisqu'il ne correspond à aucun global exposé à un programme JavaScript) sert de superclasse à toutes les sous-classes de sources de modules, fournissant une interface commune de méthodes utilitaires. Ce constructeur n'est pas directement exposé : il n'existe pas de propriété globale AbstractModuleSource. Il n'est accessible qu'avec Object.getPrototypeOf(moduleSourceObject.constructor) et des mécanismes similaires.
Les objets AbstractModuleSource
Les objets source de module JavaScript sont ajoutés par la proposition de phase d'importation de module ECMAScript (angl.).
Constructeur
Cet object ne peut pas être instancié directement — tenter de le construire avec new déclenche une TypeError.
import source modSource from "./module.wasm";
new (Object.getPrototypeOf(modSource.constructor))();
// TypeError: Abstract class AbstractModuleSource not directly constructable
À la place, obtenez un objet source de module en utilisant import source, import.source(), ou l'API d'un type de module concret, tel que WebAssembly.Module(). Ces mécanismes n'appellent pas le constructeur abstrait.
Propriétés d'instance
Ces propriétés sont définies sur AbstractModuleSource.prototype et partagées par toutes les instances des sous-classes de AbstractModuleSource.
AbstractModuleSource.prototype.constructor-
La fonction constructeur qui a créé l'objet instance.
AbstractModuleSource.prototype.constructorest la fonction constructeur cachéeAbstractModuleSource, mais chaque sous-classe de source de module définit également sa propre propriétéconstructor. AbstractModuleSource.prototype[Symbol.toStringTag]-
La valeur initiale de la propriété
AbstractModuleSource.prototype[Symbol.toStringTag]est un accesseur qui retourne une chaîne de caractères basée sur l'identité du constructeur, telle que"WebAssembly.Module"ou"ModuleSource". Elle retourneundefinedsi la valeur dethisn'est pas une instance de l'une des sous-classes de source de module. Cette propriété est utilisée dansObject.prototype.toString().
Spécifications
| Spécification |
|---|
| Source Phase Imports> # sec-module-source-objects> |
Compatibilité des navigateurs
Voir aussi
WebAssembly.Module- L'opérateur
import.source() - L'instruction
import source