JavaScript Typed Array Reference

Example

const myArr = new Int8Array(10);
Try it Yourself »

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.


Copyright 1999-2023 by Refsnes Data. All Rights Reserved.