SharedArrayBuffer.prototype.grow()

Baseline 2024
新推出

自 ⁨2024 年 7 月⁩起,此功能可在最新的裝置和瀏覽器版本上使用。此功能可能無法在較舊的裝置或瀏覽器上使用。

SharedArrayBuffer 例項的 grow() 方法可將 SharedArrayBuffer 的大小(以位元組為單位)增長到指定的大小。

語法

js
grow(newLength)

引數

newLength

要將 SharedArrayBuffer 調整到的新長度(以位元組為單位)。

返回值

無(undefined)。

異常

TypeError

如果 SharedArrayBuffer 不可增長,則丟擲此異常。

RangeError

如果 newLength 大於 SharedArrayBuffermaxByteLength,或者小於 SharedArrayBufferbyteLength,則丟擲此異常。

描述

grow() 方法將 SharedArrayBuffer 的大小增長到 newLength 引數指定的大小,前提是該 SharedArrayBuffer可增長的 且新大小小於或等於 SharedArrayBuffermaxByteLength。新位元組將被初始化為 0。

示例

使用 grow()

在此示例中,我們建立一個 8 位元組的可增長到最大長度為 16 位元組的緩衝區,然後檢查其 growable 屬性,如果 growable 返回 true,則進行增長。

js
const buffer = new SharedArrayBuffer(8, { maxByteLength: 16 });

if (buffer.growable) {
  console.log("SAB is growable!");
  buffer.grow(12);
}

規範

規範
ECMAScript® 2026 語言規範
# sec-sharedarraybuffer.prototype.grow

瀏覽器相容性

另見