Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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.

js
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.constructor ist die verborgene AbstractModuleSource-Konstruktorfunktion, aber jede Modulquellcode-Unterklasse definiert auch ihre eigene constructor-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 gibt undefined zurück, wenn der this-Wert keine Instanz einer der Modulquellcode-Unterklassen ist. Diese Eigenschaft wird in Object.prototype.toString() verwendet.

Spezifikationen

Spezifikation
Source Phase Imports
# sec-module-source-objects

Browser-Kompatibilität

Siehe auch