WebAssembly.Instance.prototype.exports
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2017.
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 (実行例) で見ることができます。
仕様書
Specification |
---|
WebAssembly JavaScript Interface # dom-instance-exports |
ブラウザーの互換性
BCD tables only load in the browser