SharedArrayBuffer.prototype.grow()

基线 2024

新可用

2024 年 7 月起,此功能可在最新的设备和浏览器版本中使用。此功能可能无法在较旧的设备或浏览器中使用。

grow() 方法是 SharedArrayBuffer 实例的方法,它将 SharedArrayBuffer 以字节为单位扩展到指定的大小。

语法

js
grow(newLength)

参数

newLength

要将 SharedArrayBuffer 调整到的新长度(以字节为单位)。

返回值

无(undefined)。

异常

TypeError

如果 SharedArrayBuffer 不可扩展,则抛出此异常。

RangeError

如果 newLength 大于 SharedArrayBuffermaxByteLength 或小于 byteLength,则抛出此异常。

描述

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 语言规范
# sec-sharedarraybuffer.prototype.grow

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅