WebAssembly.Module.exports()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2017年10月.
WebAssembly.Module.exports() 関数は、指定された Module のエクスポート宣言の定義の配列を返します。
構文
引数
- module
-
WebAssembly.Moduleオブジェクトです。
返値
指定したモジュールのエクスポートされた関数を表現するオブジェクトの配列です。
例外
モジュールが WebAssembly.Module オブジェクトのインスタンスではない場合、TypeError が発生します。
例
exports の使用
次の例 (Github のデモ index-compile.html と、動作例も参照) では、WebAssembly.compileStreaming() 関数を使用して読み込んだ simple.wasm のバイトコードをコンパイルして、ワーカーに postMessage() を使用して送信しています。
ワーカー (wasm_worker.js を参照) 内で、モジュールで使用するためにインポートオブジェクトを定義して、そのあとにメインスレッドからモジュールを受け取るためのイベントハンドラーをセットアップします。モジュールを受け取ったとき、WebAssembly.Instantiate() メソッドを使用してインスタンスを生成し、その内部でエクスポートされた関数を実行します。そのあとに WebAssembly.Module.exports を使用してモジュール上の利用可能なエクスポートの情報を返す方法を示します。
exports[0] の出力はこのようになります。
仕様書
| Specification |
|---|
| WebAssembly JavaScript Interface # dom-module-exports |