SharedArrayBuffer.prototype.grow()
Базовый уровень Впервые доступно
Эта функция работает на самых последних устройствах и версиях браузеров. Эта функция может не работать на старых устройствах или версиях браузеров. Она доступна во всех браузерах с июля 2024 года.
Метод grow() экземпляров SharedArrayBuffer увеличивает SharedArrayBuffer до указанного размера, в байтах.
Синтаксис
grow(newLength)
Параметры
-
newLength - Новая длина, в байтах, до которой нужно изменить
SharedArrayBuffer.
Возвращаемое значение
Нет (undefined).
Исключения
-
TypeError - Генерируется, если
SharedArrayBufferне подлежит расширению. -
RangeError - Генерируется, если
newLengthбольше, чемmaxByteLengthSharedArrayBuffer, или меньше, чемbyteLength.
Описание
Метод grow() увеличивает SharedArrayBuffer до размера, указанного параметром newLength, при условии, что SharedArrayBuffer является расширяемым (growable), а новый размер меньше или равен maxByteLength SharedArrayBuffer. Новые байты инициализируются значением 0.
Примеры
Обратите внимание, что эти примеры не могут быть запущены непосредственно из консоли или произвольной веб-страницы, поскольку SharedArrayBuffer не определен, если не соблюдены его требования безопасности.
Использование grow()
В этом примере мы создаем 8-байтовый буфер, который может быть увеличен до максимальной длины 16 байт, затем проверяем его свойство growable, увеличивая его, если growable возвращает true:
const buffer = new SharedArrayBuffer(8, { maxByteLength: 16 });
if (buffer.growable) {
console.log("SAB is growable!");
buffer.grow(12);
}
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |
grow |
111 |
111 |
128 |
97 |
16.4 |
111 |
128 |
75 |
16.4 |
22.0 |
Нет |
16.4 |
1.0.0 |
1.33 |
20.0.0 |
См. также
© 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/SharedArrayBuffer/grow