SharedArrayBuffer.prototype.grow()
Baseline
2024
最近利用可能
July 2024以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。
grow() は SharedArrayBuffer インスタンスのメソッドで、 SharedArrayBuffer を指定されたサイズ(バイト単位)へ伸長します。
構文
js
grow(newLength)
引数
newLength-
SharedArrayBufferのサイズを変更する新しい長さ(バイト単位)です。
返値
なし (undefined)。
例外
TypeError-
SharedArrayBufferが伸長可能でない場合に発生します。 RangeError-
newLengthがこのSharedArrayBufferのmaxByteLengthより大きいか、byteLengthより小さい場合に発生します。
解説
grow() メソッドは、 SharedArrayBuffer が伸長可能 (growable) であり、新しいサイズが SharedArrayBuffer の maxByteLength 以下で指定された新しい長さの引数で指定されたサイズに SharedArrayBuffer を伸長します。新しいバイトは 0 に初期化されます。
例
これらの例は、コンソールや任意のウェブページから直接実行することはできません。SharedArrayBuffer は、そのセキュリティ要件が満たされない限り定義されないからです。
grow() の使用
この例では、最大長 16 バイトまで伸長可能な 8 バイトのバッファーを作成し、伸長可能なプロパティをチェックします。 growable が true を返した場合、バッファーを伸長します。
js
const buffer = new SharedArrayBuffer(8, { maxByteLength: 16 });
if (buffer.growable) {
console.log("SAB is growable!");
buffer.grow(12);
}
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-sharedarraybuffer.prototype.grow> |