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

View in English Always switch to English

WebAssembly.Instance.prototype.exports

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年10月以降、すべてのブラウザーで利用可能です。

exportsWebAssembly.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

ブラウザーの互換性

関連情報