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 ラッパーです。
例外
index が Table.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 |
ブラウザーの互換性
BCD tables only load in the browser