Spec-Zone.ru › JavaScript

ArrayBuffer.prototype.resize()

Базовая поддержка Недавно появилось

Эта функция работает на последних устройствах и версиях браузеров. Эта функция может не работать в старых устройствах или версиях браузеров. Она доступна во всех браузерах с июля 2024 года.

Метод resize() экземпляров ArrayBuffer изменяет размер ArrayBuffer до указанного размера, в байтах.

Попробуйте

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

console.log(buffer.byteLength);
// Expected output: 8

buffer.resize(12);

console.log(buffer.byteLength);
// Expected output: 12

Синтаксис

resize(newLength)

Параметры

newLength
Новая длина в байтах, до которой изменяется размер ArrayBuffer.

Возвращаемое значение

Нет (undefined).

Исключения

TypeError
Выбрасывается, если ArrayBuffer отсоединен или не является изменяемым в размере.
RangeError
Выбрасывается, если newLength больше, чем maxByteLength ArrayBuffer.

Описание

Метод resize() изменяет размер ArrayBuffer до размера, указанного параметром newLength, при условии, что ArrayBuffer является изменяемым в размере и новый размер меньше или равен maxByteLength ArrayBuffer. Новые байты инициализируются нулем (0).

Обратите внимание, что вы можете использовать resize() как для уменьшения, так и для увеличения ArrayBuffer — допускается, чтобы newLength был меньше текущей byteLength ArrayBuffer.

Примеры

Использование resize()

В этом примере мы создаем 8-байтовый буфер, размер которого может быть изменен до максимальной длины 16 байт, затем проверяем его свойство resizable и изменяем его размер, если resizable возвращает true:

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

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

Спецификации

Спецификация
Спецификация языка ECMAScript® 2027
# sec-arraybuffer.prototype.resize

Совместимость с браузерами

Настольные Мобильные Серверные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
resize
111
111
128
97
16.4
111
128
75
16.4
22.0
111
16.4
1.0.0
1.33
20.0.0

См. также

  • ArrayBuffer
  • ArrayBuffer.prototype.resizable
  • ArrayBuffer.prototype.maxByteLength

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/resize

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API