AbstractModuleSource
Ein AbstractModuleSource-Objekt repräsentiert den kompilierten Quellcode eines Moduls, der mit import source oder import.source() abgerufen wurde. Es gibt keinen direkt sichtbaren AbstractModuleSource-Konstruktor.
Beschreibung
Der AbstractModuleSource-Konstruktor (oft als %AbstractModuleSource% bezeichnet, um seine „Intrinsic“-Eigenschaft anzuzeigen, da er keinem Global entspricht, das einem JavaScript-Programm zugänglich gemacht wird) dient als Oberklasse aller Modulquellcode-Unterklassen und stellt eine gemeinsame Schnittstelle mit Hilfsmethoden bereit. Dieser Konstruktor wird nicht direkt verfügbar gemacht: Es gibt keine globale AbstractModuleSource-Eigenschaft. Er ist nur über Object.getPrototypeOf(moduleSourceObject.constructor) und Ähnliches zugänglich.
AbstractModuleSource-Objekte
JavaScript-Modulquellcode-Objekte werden durch den Vorschlag ECMAScript Module Phase Imports hinzugefügt.
Konstruktor
Dieses Objekt kann nicht direkt instanziiert werden — der Versuch, es mit new zu konstruieren, löst einen TypeError aus.
import source modSource from "./module.wasm";
new (Object.getPrototypeOf(modSource.constructor))();
// TypeError: Abstract class AbstractModuleSource not directly constructable
Rufen Sie stattdessen ein Modulquellcode-Objekt mit import source, import.source() oder der API eines konkreten Modultyps ab, beispielsweise WebAssembly.Module(). Diese Mechanismen rufen den abstrakten Konstruktor nicht auf.
Instanzeigenschaften
Diese Eigenschaften sind auf AbstractModuleSource.prototype definiert und werden von allen Instanzen von AbstractModuleSource-Unterklassen gemeinsam genutzt.
AbstractModuleSource.prototype.constructor-
Die Konstruktorfunktion, die das Instanzobjekt erstellt hat.
AbstractModuleSource.prototype.constructorist die verborgeneAbstractModuleSource-Konstruktorfunktion, aber jede Modulquellcode-Unterklasse definiert auch ihre eigeneconstructor-Eigenschaft. AbstractModuleSource.prototype[Symbol.toStringTag]-
Der Anfangswert der Eigenschaft
AbstractModuleSource.prototype[Symbol.toStringTag]ist ein Getter, der einen String basierend auf der Identität des Konstruktors zurückgibt, beispielsweise"WebAssembly.Module"oder"ModuleSource". Er gibtundefinedzurück, wenn derthis-Wert keine Instanz einer der Modulquellcode-Unterklassen ist. Diese Eigenschaft wird inObject.prototype.toString()verwendet.
Spezifikationen
| Spezifikation |
|---|
| Source Phase Imports> # sec-module-source-objects> |