Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年10月以降、すべてのブラウザーで利用可能です。
WebAssembly.Table() コンストラクターは、大きさと要素の型を指定して新しい Table オブジェクトを生成します。
以下のメンバーを含むことができるオブジェクトです。
element文字列で、テーブルに格納される値の型を表します。現時点では、 "anyfunc" (関数) の値のみを取ることができます。
initialWebAssembly テーブルの初期の要素数です。
maximum 省略可WebAssembly テーブルが拡張することができる最大の要素数です。
次の例では (table2.html のソースコードと実行例はこちら) 新しく WebAssembly テーブルのインスタンスを、初期の大きさを 2 要素して生成します。それからテーブルの長さと 2 つの要素の中身を (Table.prototype.get() で取得して) 表示し、長さは 2 で 2 つの要素は共に null となります。
それからテーブルを含むインポートオブジェクトを作成します。
最終的に、 wasm モジュール (table2.wasm) を WebAssembly.instantiateStreaming() メソッドを使用して読み込みインスタンス化します。 table2.wasm モジュールには 2 つの関数 (1 つは 42 を返し、もう 1 つは 83 を返す) が入っており、それぞれをインポートされたテーブルの要素 0 と 1 に格納します。 (テキスト表現をご覧ください)。インスタンス化した後で、テーブルは長さは 2 のままですが、要素には呼び出し可能なエクスポートされた WebAssembly 関数が入り、 JS から呼び出せるようになりました。
なお、関数呼び出し演算子がアクセサーの後に二重についており (例えば get(0)() を get(0) の代わりに使用)、実際に参照している関数を呼び出して、その中に格納された値をログ出力しています。
この例は JavaScript からテーブルを生成してアクセスする方法を示していますが、同じテーブルを wasm インスタンスの中から見ることができ、呼び出すこともできます。
| WebAssembly JavaScript Interface # dom-table-table |
ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。
より良いインターネットのための青写真。
このコンテンツの一部は、©1998–2026 個人の mozilla.org 協力者です。コンテンツはクリエイティブ・コモンズ・ライセンスのもとで利用できます。