WebAssembly.Memory.prototype.grow()
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.
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 ページ数です。
仕様書
Specification |
---|
WebAssembly JavaScript Interface # dom-memory-grow |
ブラウザーの互換性
BCD tables only load in the browser