Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年10月以降、すべてのブラウザーで利用可能です。
WebAssembly.Memory() コンストラクターは新しい Memory オブジェクトを生成します。これは buffer プロパティがサイズ変更可能な ArrayBuffer または SharedArrayBuffer であり、 WebAssembly の Instance からアクセスする生のバイト列のメモリーであるものです。
JavaScript または WebAssembly コードから生成されたメモリーは JavaScript と WebAssembly のどちらからもアクセス、変更が可能になります。
以下のメンバーを含むことができるオブジェクトです。
initialWebAssembly メモリーの初期サイズで、単位は WebAssembly ページ数です。
maximum 省略可WebAssembly メモリーを拡張できる最大サイズで、単位は WebAssembly ページ数です。存在する場合、 maximum 引数はエンジンがメモリーを予約するヒントとして使用されます。ただし、エンジンはこの予約リクエストを無視したり固定したりすることがあります。一般的に、ほとんどの WebAssembly モジュールでは maximum を設定する必要はありません。
shared 省略可論理値で、このメモリーを共有メモリーにするかどうかを定義します。 true に設定すると、共有メモリーになります。既定値は false です。
メモ: WebAssembly ページは 65,536 バイト、すなわち 64KiB の固定長です。
WebAssembly.Memory オブジェクトを取得する方法は 2 つあります。 1 つ目は JavaScript から構築する方法です。次の例では、新しい WebAssembly Memory インスタンスを初期サイズが 10 ページ (640KiB) 、最大サイズが 100 ページ (6.4MiB) で生成しています。この buffer プロパティは ArrayBuffer を返します。
2 つ目は WebAssembly モジュールからエクスポートされた WebAssembly.Memory オブジェクトを使用する方法です。次の例では (GitHub 上の memory.html および動作例も参照)、 memory.wasm バイトコードを WebAssembly.instantiateStreaming() メソッドで読み込みんでインスタンス化し、その上の行で生成されたメモリーにインポートします。それから、メモリーにいくつかの値を格納し、関数をエクスポートして使用し、いくつかの値を合計します。
既定では、 WebAssembly のメモリーは共有されていません。共有メモリーを作成するには、コンストラクター の初期化オブジェクトに shared: true を渡してください。
このメモリーの buffer プロパティは SharedArrayBuffer を返します。
| WebAssembly JavaScript Interface # dom-memory-memory |
ブラウザー互換性一覧表を表示するには、JavaScript を有効にしてください。
より良いインターネットのための青写真。
このコンテンツの一部は、©1998–2026 個人の mozilla.org 協力者です。コンテンツはクリエイティブ・コモンズ・ライセンスのもとで利用できます。