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

View in English Always switch to English

WebAssembly.Table.prototype.get()

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月⁩.

get()WebAssembly.Table オブジェクトのプロトタイプメソッドで、指定された位置に格納されている関数参照を取得します。

構文

js
get(index);

引数

index

取得する関数参照の位置です。

返値

関数参照を返します。これはエクスポートされた WebAssembly 関数、wasm 関数を内在する JavaScript ラッパーです。

例外

indexTable.prototype.length 以上であった場合、RangeError が発生します。

get の使用

次の例では (Github の table.html動作例も確認してください)、 table.wasm バイトコードを WebAssembly.instantiateStreaming() メソッドを使用して読み取り、コンパイルしてインスタンス化しています。その後、エクスポートされたテーブルに格納された参照を取得します。

js
WebAssembly.instantiateStreaming(fetch("table.wasm")).then(function (obj) {
  var tbl = obj.instance.exports.tbl;
  console.log(tbl.get(0)()); // 13
  console.log(tbl.get(1)()); // 42
});

参照に格納されている値を実際に取得するためには、アクセサーの最後に 2 つ目の関数呼び出し演算子を含める必要があります (get(0) ではなく get(0)())。これは単純な値ではなく、関数です。

仕様書

Specification
WebAssembly JavaScript Interface
# dom-table-get

ブラウザーの互換性

関連情報