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

View in English Always switch to English

WebAssembly.Memory.prototype.grow()

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2017年10月以降、すべてのブラウザーで利用可能です。

grow()Memory オブジェクトのプロトタイプメソッドで、指定した WebAssembly ページの数だけメモリーインスタンスの大きさを拡張します。

構文

js
grow(number);

引数

number

メモリーを拡大する WebAssembly ページ数 (それぞれは 64KiB の大きさ)。

返値

以前のメモリーの大きさを、 WebAssembly ページ単位で返します。

grow の使用

以下の例では、新しい WebAssembly メモリーインスタンスを初期サイズ 1 ページ (64KiB)、最大サイズ 10 ページ (640KiB) で作成します。

js
var memory = new WebAssembly.Memory({ initial: 1, maximum: 10 });

それから、インスタンスを 1 ページ分拡張することができます。

js
const bytesPerPage = 64 * 1024;
console.log(memory.buffer.byteLength / bytesPerPage); // "1"
console.log(memory.grow(1)); // "1"
console.log(memory.buffer.byteLength / bytesPerPage); // "2"

なお、ここでの grow() の返値は直前の WebAssembly ページ数です。

仕様書

仕様書
WebAssembly JavaScript Interface
# dom-memory-grow

ブラウザーの互換性

関連情報