DataView.prototype.byteLength
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Die byteLength
Zugriffs-Eigenschaft von DataView
-Instanzen gibt die Länge (in Bytes) dieser Ansicht zurück.
Probieren Sie es aus
// 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
Beschreibung
Die byteLength
-Eigenschaft ist eine Zugriffs-Eigenschaft, deren Set-Accessor-Funktion undefined
ist, was bedeutet, dass Sie diese Eigenschaft nur lesen können. Wenn der DataView
length-tracking ist, hängt seine Länge von der Länge des zugrunde liegenden Puffers ab und kann sich ändern, wenn der Puffer neu dimensioniert wird. Andernfalls wird der Wert beim Erstellen des DataView
festgelegt und kann nicht geändert werden. Unabhängig davon, ob length-tracking oder nicht, wird byteLength
0, wenn der zugrunde liegende Puffer so neu dimensioniert wird, dass der angezeigte Bereich nicht mehr gültig ist.
Beispiele
>Verwendung der byteLength-Eigenschaft
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)
Spezifikationen
Specification |
---|
ECMAScript® 2026 Language Specification> # sec-get-dataview.prototype.bytelength> |
Browser-Kompatibilität
Loading…