Open In App

TypedArray Introduction

Last Updated : 17 Jan, 2023
Comments
Improve
Suggest changes
Like Article
Like
Report

TypedArray demonstrates an array-like view of a binary data buffer. They are introduced in ECMAScript version 6 to handle binary data. There is no keyword reserved 'TypedArray', nor is there a directly visible TypedArray constructor.

There are several types of TypedArray shown below with their range, size, web IDL Type, and Equivalent C Type:

Type

Range Value

Size (Bytes)

Web IDL Type

Equivalent C type

Int8Array-128 to 1271byteint8_t
Uint8Array0 to 2551octetuint8_t
Uint8ClampedArray0 to 2551octetuint8_t
Int16Array-32768 to 32767 shortint16_t
Uint16Array0 to 65535 unsigned short uint16_t
Int32Array-2147483648 to 2147483647 longint32_t
Uint32Array0 to 4294967295 unsigned long uint32_t
Float32Array1.2×10^-38 to 3.4×10^38 unrestricted float float
Float64Array5.0×10^-324 to 1.8×10^308 unrestricted double double
BigInt64Array-2^63 to 2^63-1 bigintint64_t (signed long)
BigUint64Array0 to 2^64-1 bigint uint64_t (unsigned long)

Constructor: This object cannot be instantiated directly. Instead, you have to create an instance of an array of a particular type, such as an UInt8Array or a BigInt64Array. 

When creating an instance of a TypedArray(e.g. Int8Array), an Array Buffer instance is also created internally in the memory or, if an ArrayBuffer object is given as a constructor argument, then that argument is used instead. 

We can create the instance of TypedArray by using the 'new' keyword with the respective constructor.

Syntax:

new TypedArray();
// Or
new TypedArray(length);
// Or
new TypedArray(typedArray);
// Or
new TypedArray(object);
// Or
new TypedArray(buffer [, byteOffset [, length]]);

TypedArray can be of any type mentioned above.

Parameters: Below are the parameters that TypedArray can take:

  • length: The size of ArrayBuffer to create.
  • typedArray: Type of array to be created.
  • object: When called with the object argument, a new typed array instance is created.
  • buffer, byteOffset, length: When called with a buffer, byte offset, and a length argument, a new typed array view is created that is used to view the specified ArrayBuffer.

Instantiating a TypedArray: Below are some examples that show how to instantiate a TypedArray.

Example 1: In this example, we will initialize a typedArray.

JavaScript
const buffer = new ArrayBuffer(8);

// Initiating using the constructor
const uint8 = new Uint8Array(buffer);

// Output is 8 as we initiated the length with 8
console.log(uint8.length);

Output:

8

Example 2: In this example, we will initialize a typedArray.

JavaScript
const int8 = new Int8Array([0, 0, 0, 0]);
    
int8.fill(4, 1, 3);
console.log(int8);

Output:

Int8Array(4) [0, 4, 4, 0, 
buffer: ArrayBuffer(4), 
byteLength: 4, byteOffset: 0, 
length: 4, 
Symbol(Symbol.toStringTag): 'Int8Array']

Example 3: Checking if the values are contained inside the TypedArray.

JavaScript
const int8 = new Int8Array([10, 20, 30, 40, 50]);
    
console.log(int8.includes(20));
    
console.log(int8.includes(20, 3));

Output:

true
false

Next Article

Similar Reads