JavaScript DataView.buffer — буфер, у який дивиться вікно


Властивість buffer повертає ArrayBuffer, у який дивиться це вікно.

автор: NagarD

Загальний опис

Це та сама пам'ять, а не копія. Зміни через DataView одразу видно в буфері й у будь-якому іншому вікні, що на нього дивиться.

Потрібна, коли готові дані треба віддати кудись, де очікують саме буфер: у WebSocket.send(), у crypto.subtle, у fetch.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
buffer 9+ 15+ 5.1+ 12.1+ 12+ 10+
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
buffer 4+ yes yes 4.2+

Приклади

+ запропонувати свій приклад у пісочниці

Зібрали пакет через вікно — відправили буфером.

// умовний сокет; у житті це WebSocket
const socket = {
    send(payload) {
        console.log('Надіслано', payload.byteLength, 'байтів');
    },
};

const view = new DataView(new ArrayBuffer(9));

view.setUint8(0, 1);
view.setFloat64(1, 42.5, false);

// та сама пам'ять — не копія
socket.send(view.buffer);

const other = new Uint8Array(view.buffer);
console.log(other[0]); // 1 — бачить те саме
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід