Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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.

js
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.constructor est la fonction constructeur cachée AbstractModuleSource, 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 retourne undefined si la valeur de this n'est pas une instance de l'une des sous-classes de source de module. Cette propriété est utilisée dans Object.prototype.toString().

Spécifications

Spécification
Source Phase Imports
# sec-module-source-objects

Compatibilité des navigateurs

Voir aussi