WebAssembly.Instance.prototype.exports
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年10月以降、すべてのブラウザーで利用可能です。
exports は WebAssembly.Instance オブジェクトプロトタイプの読み取り専用プロパティで、 WebAssembly モジュールインスタンスからエクスポートされたすべての関数をメンバ-として持つオブジェクトを返します。これらは、 JavaScript からアクセスして使用することができます。
js
instance.exports;
例
>exports の使用
fetch を使用して WebAssembly バイトコードを読み取った後、 WebAssembly.instantiateStreaming() 関数を使用してモジュールをコンパイルし、インスタンス化し、 JavaScript 関数をそのプロセスの WebAssembly モジュールにインポートします。その後、 Instance からエクスポートされたエクスポート済み WebAssembly 関数を呼び出します。
js
var importObject = {
imports: {
imported_func: function (arg) {
console.log(arg);
},
},
};
WebAssembly.instantiateStreaming(fetch("simple.wasm"), importObject).then(
(obj) => obj.instance.exports.exported_func(),
);
メモ: この例は GitHub 上の instantiate-streaming.html (実行例) で見ることができます。
仕様書
| 仕様書 |
|---|
| WebAssembly JavaScript Interface> # dom-instance-exports> |