JavaScript Typed Array Reference
JavaScript Typed Arrays
In Javascript, a typed array is an array-like buffer of binary data.
There is no JavaScript property or object named TypedArray, but properties and methods can be used with typed array objects:
Typed Array Objects
Object | Data Type | Range | Try it |
---|---|---|---|
Int8Array | Signed integer (byte) | -128/127 | Try it » |
Uint8Array | Unsigned integer (octet) | 0/255 | Try it » |
Uint8ClampedArray | Unsigned integer (octet) | 0/255 | Try it » |
Int16Array | Short integer | -32768/32767 | Try it » |
Uint16Array | Unsigned short integer | 0/65535 | Try it » |
Int32Array | Signed long integer | -231/231-1 | Try it » |
Uint32Array | Unsigned long integer | 0/232 | Try it » |
Float32Array | Float - 7 significant digits | 1.2x10-38/3.4x1038 | Try it » |
Float64Array | Double - 16 significant digits | 5.0x10-324/1.8x10308 | Try it » |
BigInt64Array | Big signed integer | -263/263-1 | Try it » |
BigUint64Array | Big unsigned integer | 0/264 | Try it » |
Note
Typed arrays are not arrays.
isArray() on a typed array returns false.
Many array methods (like push and pop) are not supported by typed arrays.
Typed arrays are array-like objects for storing binary data in memory.
Typed Array Methods and Properties
Method / Property | Description | Try it |
---|---|---|
BYTES_PER_ELEMENT | Property to count the number of bytes used to store one element | Try it » |
fill() | Fill all elements with a value | Try it » |
find() | Returns the first element that satisfies a condition | Try it » |
name | Returns the name of the typed array | Try it » |
of() | Method to create a typed array from an array | Try it » |
some() | Reurns true if one element satisfies a condition | Try it » |
Uint8Array vs Uint8ClampedArray
The difference between an Uint8Array and an Uint8ClampedArray is how values are added.
If you set one element in an Uint8ClampedArray to a value outside the 0-255 range, it will default to 0 or 255.
A typed array will just take the first 8 bits of the value.
Typed Array Benefits
Typed arrays provide a way to handle binary data as efficiently as arrays work in C.
Typed arrays are raw memory, so JavaScript can pass them directly to any function without converting the data to another representation.
Typed arrays are serously faster than normal arrays, for passing data to functions that can use raw binary data (Computer Games, WebGL, Canvas, File APIs, Media APIs).
Browser APIs Supporting Typed Arrays
Fetch API Example
fetch(url)
.then(request => request.arrayBuffer())
.then(arrayBuffer =>...);
Canvas Example
const canvas = document.getElementById('my_canvas');
const context = canvas.getContext('2d');
const imageData = context.getImageData(0, 0, canvas.width, canvas.height);
const uint8ClampedArray = imageData.data;
Browser Support
typedArray
is an ECMAScript6 (ES6) feature.
ES6 (JavaScript 2015) is supported in all modern browsers since June 2017:
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
May 2016 | Apr 2017 | Jun 2017 | Sep 2016 | Jun 2016 |
typedArray
is not supported in Internet Explorer.