ArrayBuffer.prototype.resize()

基线 2024

新可用

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

resize() 方法是 ArrayBuffer 实例的方法,用于将 ArrayBuffer 的大小(以字节为单位)调整为指定的大小。

试一试

语法

js
resize(newLength)

参数

newLength

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

返回值

无 (undefined)。

异常

TypeError

如果 ArrayBuffer 已分离或不可调整大小,则抛出此异常。

RangeError

如果 newLength 大于 ArrayBuffermaxByteLength,则抛出此异常。

描述

resize() 方法将 ArrayBuffer 调整为 newLength 参数指定的大小,前提是 ArrayBuffer可调整大小的 并且新大小小于或等于 ArrayBuffermaxByteLength。新字节初始化为 0。

请注意,您可以使用 resize() 来缩小和增大 ArrayBuffernewLength 小于 ArrayBuffer 的当前 byteLength 是允许的。

示例

使用 resize()

在此示例中,我们创建了一个 8 字节的缓冲区,该缓冲区可调整大小,最大长度为 16 字节,然后检查其 resizable 属性,如果 resizable 返回 true 则调整其大小。

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

if (buffer.resizable) {
  console.log("Buffer is resizable!");
  buffer.resize(12);
}

规范

规范
ECMAScript 语言规范
# sec-arraybuffer.prototype.resize

浏览器兼容性

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

另请参阅