このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

AbstractModuleSource

AbstractModuleSource オブジェクトは、import source または import.source() で取得した、コンパイル済みモジュールのソースを表します。AbstractModuleSource コンストラクターは直接見える形では存在しません。

解説

AbstractModuleSource コンストラクター(JavaScript プログラムに公開されるグローバルオブジェクトに対応しないことから、「内在的」であることを示すために %AbstractModuleSource% と呼ばれることもあります)は、すべてのモジュールソースのサブクラスのスーパークラスとして、ユーティリティメソッドの共通インターフェイスを提供します。このコンストラクターは直接公開されていません。グローバルな AbstractModuleSource プロパティはありません。Object.getPrototypeOf(moduleSourceObject.constructor) などを通じてのみアクセスできます。

AbstractModuleSource オブジェクト

JavaScript のモジュールソースオブジェクトは、ECMAScript Module Phase Imports の提案によって追加される予定です。

コンストラクター

このオブジェクトを直接インスタンス化することはできません。new で構築しようとすると TypeError が発生します。

js
import source modSource from "./module.wasm";

new (Object.getPrototypeOf(modSource.constructor))();
// TypeError: Abstract class AbstractModuleSource not directly constructable

代わりに、import source、import.source()、WebAssembly.Module() のような具象モジュール型の API を使用して、モジュールソースオブジェクトを取得してください。これらの仕組みは抽象コンストラクターを呼び出しません。

インスタンスプロパティ

これらのプロパティは AbstractModuleSource.prototype で定義されており、すべての AbstractModuleSource サブクラスのインスタンスで共有されます。

AbstractModuleSource.prototype.constructor

インスタンスオブジェクトを作成したコンストラクター関数。AbstractModuleSource.prototype.constructor は隠された AbstractModuleSource コンストラクター関数ですが、各モジュールソースのサブクラスも独自の constructor プロパティを定義します。

AbstractModuleSource.prototype[Symbol.toStringTag]

AbstractModuleSource.prototype[Symbol.toStringTag] プロパティの初期値は、コンストラクターの識別情報に基づく文字列("WebAssembly.Module" や "ModuleSource" など)を返すゲッターです。this 値がいずれかのモジュールソースのサブクラスのインスタンスでない場合は、undefined を返します。このプロパティは Object.prototype.toString() で使用されます。

仕様書

仕様書
Source Phase Imports
# sec-module-source-objects

ブラウザーの互換性

関連情報