TypedArray Introduction
Last Updated :
17 Jan, 2023
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 127 |
1 |
byte |
int8_t |
Uint8Array |
0 to 255 |
1 |
octet |
uint8_t |
Uint8ClampedArray |
0 to 255 |
1 |
octet |
uint8_t |
Int16Array |
-32768 to 32767 |
2 |
short |
int16_t |
Uint16Array |
0 to 65535 |
2 |
unsigned short |
uint16_t |
Int32Array |
-2147483648 to 2147483647 |
4 |
long |
int32_t |
Uint32Array |
0 to 4294967295 |
4 |
unsigned long |
uint32_t |
Float32Array |
1.2×10^-38 to 3.4×10^38 |
4 |
unrestricted float |
float |
Float64Array |
5.0×10^-324 to 1.8×10^308 |
8 |
unrestricted double |
double |
BigInt64Array |
-2^63 to 2^63-1 |
8 |
bigint |
int64_t (signed long) |
BigUint64Array |
0 to 2^64-1 |
8 |
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);
const uint8 = new Uint8Array(buffer);
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
Share your thoughts in the comments
Please Login to comment...