obal_Objects/Object/valueOf)

##  In this article

  * Try it 
  * Description 
  * Constructor 
  * Static properties 
  * Static methods 
  * Instance properties 
  * Instance methods 
  * Examples 
  * Specifications 
  * Browser compatibility 
  * See also 

#  TypedArray

##  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  .

  * [ Learn more ](/en-US/blog/baseline-evolution-on-mdn/)
  * See full compatibility 
  * [ Report feedback ](https://survey.alchemer.com/s3/7634825/MDN-baseline-feedback?page=%2Fen-US%2Fdocs%2FWeb%2FJavaScript%2FReference%2FGlobal_Objects%2FTypedArray&level=high)

A **_TypedArray_ ** object describes an array-like view of an underlying [
binary data buffer ](/en-
US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) . There is no
global property named ` TypedArray ` , nor is there a directly visible `
TypedArray ` constructor. Instead, there are a number of different global
properties, whose values are typed array constructors for specific element
types, listed below. On the following pages you will find common properties
and methods that can be used with any typed array containing elements of any
type.

##  Try it

##  Description

The ` TypedArray ` constructor (often referred to as ` %TypedArray% ` to
indicate its "intrinsicness", since it does not correspond to any global
exposed to a JavaScript program) serves as the common superclass of all `
TypedArray ` subclasses. Think about ` %TypedArray% ` as an "abstract class"
providing a common interface of utility methods for all typed array
subclasses. This constructor is not directly exposed: there is no global `
TypedArray ` property. It is only accessible through `
Object.getPrototypeOf(Int8Array) ` and similar.

When creating an instance of a ` TypedArray ` subclass (e.g. ` Int8Array ` ),
an array buffer is created internally in memory or, if an ` ArrayBuffer `
object is given as constructor argument, that ` ArrayBuffer ` is used instead.
The buffer address is saved as an internal property of the instance and all
the methods of ` %TypedArray%.prototype ` will set and get values based on
that array buffer address.

###  TypedArray objects

Type  |  Value Range  |  Size in bytes  |  Web IDL type   
---|---|---|---  
[ ` Int8Array ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int8Array) |  -128 to 127  |  1  |  ` byte `  
[ ` Uint8Array ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array) |  0 to 255  |  1  |  ` octet `  
[ ` Uint8ClampedArray ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray) |  0 to 255  |  1  |  ` octet `  
[ ` Int16Array ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array) |  -32768 to 32767  |  2  |  ` short `  
[ ` Uint16Array ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint16Array) |  0 to 65535  |  2  |  ` unsigned short `  
[ ` Int32Array ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array) |  -2147483648 to 2147483647  |  4  |  ` long `  
[ ` Uint32Array ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint32Array) |  0 to 4294967295  |  4  |  ` unsigned long `  
[ ` Float32Array ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array) |  ` -3.4e38 ` to ` 3.4e38 ` |  4  |  ` unrestricted float `  
[ ` Float64Array ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array) |  ` -1.8e308 ` to ` 1.8e308 ` |  8  |  ` unrestricted double `  
[ ` BigInt64Array ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt64Array) |  -2  63  to 2  63  \- 1  |  8  |  ` bigint `  
[ ` BigUint64Array ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigUint64Array) |  0 to 2  64  \- 1  |  8  |  ` bigint `  
  
###  Value encoding and normalization

All typed arrays operate on ` ArrayBuffer ` s, where you can observe the exact
byte representation of each element, so how the number