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

View in English Always switch to English

SharedArrayBuffer.prototype.grow()

Baseline 2024
最近利用可能

2024年7月以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。

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

ブラウザーの互換性

関連情報