TypedArray.prototype.length
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Thelength accessor property ofTypedArray instances returns the length (in elements) of this typed array.
In this article
Try it
// Create an ArrayBuffer with a size in bytesconst buffer = new ArrayBuffer(8);const uint8 = new Uint8Array(buffer, 2);console.log(uint8.length);// Expected output: 6Description
Thelength property is an accessor property whose set accessor function isundefined, meaning that you can only read this property. If the typed array islength-tracking, then its length depends on the length of the underlying buffer, and may change if the buffer is resized. Otherwise, the value is established when the typed array is constructed and cannot be changed. Whether length-tracking or not, thelength becomes 0 if the underlying buffer is resized such that the viewed range is no longer valid.
Examples
>Using the length property
const buffer = new ArrayBuffer(8);const uint8 = new Uint8Array(buffer);uint8.length; // 8 (matches the length of the buffer)const uint8newLength = new Uint8Array(buffer, 1, 5);uint8newLength.length; // 5 (as specified when constructing the Uint8Array)const uint8offset = new Uint8Array(buffer, 2);uint8offset.length; // 6 (due to the offset of the constructed Uint8Array)const buffer2 = new ArrayBuffer(16, { maxByteLength: 32 });const uint8lengthTracking = new Uint8Array(buffer2, 4);uint8lengthTracking.length; // 12 (16 - 4)buffer2.resize(20);uint8lengthTracking.length; // 16 (20 - 4)buffer2.resize(3);uint8lengthTracking.length; // 0 (viewed range is no longer valid)Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-get-%typedarray%.prototype.length> |