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

浏览器兼容性

另见