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 October 2017.

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

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
get

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報