Spec-Zone.ru › JavaScript

DataView.prototype.byteLength

Базовый уровень Широко доступно

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

Свойство доступа byteLength экземпляров DataView возвращает длину (в байтах) этого представления.

Попробуйте

// Create an ArrayBuffer with a size in bytes
const buffer = new ArrayBuffer(16);

const view1 = new DataView(buffer);
const view2 = new DataView(buffer, 12, 4); // From byte 12 for the next 4 bytes

console.log(view1.byteLength + view2.byteLength); // 16 + 4
// Expected output: 20

Описание

Свойство доступа byteLength является свойством доступа, функция установки которого undefined, что означает, что вы можете только читать это свойство. Если DataView является отслеживающим длину, то его длина зависит от длины базового буфера и может изменяться при изменении размера буфера. В противном случае значение устанавливается при создании DataView и не может быть изменено. Независимо от отслеживания длины, byteLength становится равным 0, если базовый буфер изменен таким образом, что просматриваемый диапазон больше не является допустимым.

Примеры

Использование свойства byteLength

const buffer = new ArrayBuffer(8);
const dataview = new DataView(buffer);
dataview.byteLength; // 8 (matches the byteLength of the buffer)

const dataview2 = new DataView(buffer, 1, 5);
dataview2.byteLength; // 5 (as specified when constructing the DataView)

const dataview3 = new DataView(buffer, 2);
dataview3.byteLength; // 6 (due to the offset of the constructed DataView)

const buffer2 = new ArrayBuffer(16, { maxByteLength: 32 });
const dataviewLengthTracking = new DataView(buffer2, 4);
dataviewLengthTracking.byteLength; // 12 (16 - 4)
buffer2.resize(20);
dataviewLengthTracking.byteLength; // 16 (20 - 4)
buffer2.resize(3);
dataviewLengthTracking.byteLength; // 0 (viewed range is no longer valid)

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

Спецификация
ECMAScript® 2027 Language Specification
# sec-get-dataview.prototype.bytelength

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

Настольные Мобильные Сервер
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
byteLength
9
12
15
12.1
5.1
5.1
18
15
12.1
5
1.0
4
5
1.0.0
1.0
0.10.0

См. также

  • Руководство по типизированным массивам JavaScript
  • DataView
  • ArrayBuffer
  • SharedArrayBuffer

© 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/DataView/byteLength

Spec-Zone.ru

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