The Uint8Array typed array represents an array of 8-bit unsigned integers. The contents are initialized to 0. Once established, you can reference elements in the array using the object's methods, or using standard array index syntax (that is, using bracket notation).
Syntax
new Uint8Array(); // new in ES2017 new Uint8Array(length); new Uint8Array(typedArray); new Uint8Array(object); new Uint8Array(buffer [, byteOffset [, length]]);
For more information about the constructor syntax and the parameters, see TypedArray.
Properties
Uint8Array.BYTES_PER_ELEMENT- Returns a number value of the element size.
1in the case of anUint8Array. - Uint8Array.length
- Static length property whose value is 0. For the actual length (number of elements), see
Uint8Array.prototype.length. Uint8Array.name- Returns the string value of the constructor name. In the case of the
Uint8Arraytype: "Uint8Array". Uint8Array.prototype- Prototype for the TypedArray objects.
Methods
Uint8Array.from()- Creates a new
Uint8Arrayfrom an array-like or iterable object. See alsoArray.from(). Uint8Array.of()- Creates a new
Uint8Arraywith a variable number of arguments. See alsoArray.of().
Uint8Array prototype
All Uint8Array objects inherit from %TypedArray%.prototype.
Properties
Uint8Array.prototype.constructor- Returns the function that created an instance's prototype. This is the
Uint8Arrayconstructor by default. Uint8Array.prototype.bufferRead only- Returns the
ArrayBufferreferenced by theUint8ArrayFixed at construction time and thus read only. Uint8Array.prototype.byteLengthRead only- Returns the length (in bytes) of the
Uint8Array. Fixed at construction time and thus read only. Uint8Array.prototype.byteOffsetRead only- Returns the offset (in bytes) of the
Uint8Arrayfrom the start of itsArrayBuffer. Fixed at construction time and thus read only. Uint8Array.prototype.lengthRead only- Returns the number of elements held in the
Uint8Array. Fixed at construction time and thus read only.
Methods
Uint8Array.prototype.copyWithin()- Copies a sequence of array elements within the array. See also
Array.prototype.copyWithin(). Uint8Array.prototype.entries()- Returns a new
Array Iteratorobject that contains the key/value pairs for each index in the array. See alsoArray.prototype.entries(). Uint8Array.prototype.every()- Tests whether all elements in the array pass the test provided by a function. See also
Array.prototype.every(). Uint8Array.prototype.fill()- Fills all the elements of an array from a start index to an end index with a static value. See also
Array.prototype.fill(). Uint8Array.prototype.filter()- Creates a new array with all of the elements of this array for which the provided filtering function returns true. See also
Array.prototype.filter(). Uint8Array.prototype.find()- Returns the found value in the array, if an element in the array satisfies the provided testing function or
undefinedif not found. See alsoArray.prototype.find(). Uint8Array.prototype.findIndex()- Returns the found index in the array, if an element in the array satisfies the provided testing function or -1 if not found. See also
Array.prototype.findIndex(). Uint8Array.prototype.forEach()- Calls a function for each element in the array. See also
Array.prototype.forEach(). Uint8Array.prototype.includes()- Determines whether a typed array includes a certain element, returning
trueorfalseas appropriate. See alsoArray.prototype.includes(). Uint8Array.prototype.indexOf()- Returns the first (least) index of an element within the array equal to the specified value, or -1 if none is found. See also
Array.prototype.indexOf(). Uint8Array.prototype.join()- Joins all elements of an array into a string. See also
Array.prototype.join(). Uint8Array.prototype.keys()- Returns a new
Array Iteratorthat contains the keys for each index in the array. See alsoArray.prototype.keys(). Uint8Array.prototype.lastIndexOf()- Returns the last (greatest) index of an element within the array equal to the specified value, or -1 if none is found. See also
Array.prototype.lastIndexOf(). Uint8Array.prototype.map()- Creates a new array with the results of calling a provided function on every element in this array. See also
Array.prototype.map(). Uint8Array.prototype.move()Unimplemented- Former non-standard version of
Uint8Array.prototype.copyWithin(). Uint8Array.prototype.reduce()- Apply a function against an accumulator and each value of the array (from left-to-right) as to reduce it to a single value. See also
Array.prototype.reduce(). Uint8Array.prototype.reduceRight()- Apply a function against an accumulator and each value of the array (from right-to-left) as to reduce it to a single value. See also
Array.prototype.reduceRight(). Uint8Array.prototype.reverse()- Reverses the order of the elements of an array — the first becomes the last, and the last becomes the first. See also
Array.prototype.reverse(). Uint8Array.prototype.set()- Stores multiple values in the typed array, reading input values from a specified array.
Uint8Array.prototype.slice()- Extracts a section of an array and returns a new array. See also
Array.prototype.slice(). Uint8Array.prototype.some()- Returns true if at least one element in this array satisfies the provided testing function. See also
Array.prototype.some(). Uint8Array.prototype.sort()- Sorts the elements of an array in place and returns the array. See also
Array.prototype.sort(). Uint8Array.prototype.subarray()- Returns a new
Uint8Arrayfrom the given start and end element index. Uint8Array.prototype.values()- Returns a new
Array Iteratorobject that contains the values for each index in the array. See alsoArray.prototype.values(). Uint8Array.prototype.toLocaleString()- Returns a localized string representing the array and its elements. See also
Array.prototype.toLocaleString(). Uint8Array.prototype.toString()- Returns a string representing the array and its elements. See also
Array.prototype.toString(). Uint8Array.prototype[@@iterator]()- Returns a new
Array Iteratorobject that contains the values for each index in the array.
Examples
Different ways to create a Uint8Array:
// From a length
var uint8 = new Uint8Array(2);
uint8[0] = 42;
console.log(uint8[0]); // 42
console.log(uint8.length); // 2
console.log(uint8.BYTES_PER_ELEMENT); // 1
// From an array
var arr = new Uint8Array([21,31]);
console.log(arr[1]); // 31
// From another TypedArray
var x = new Uint8Array([21, 31]);
var y = new Uint8Array(x);
console.log(y[0]); // 21
// From an ArrayBuffer
var buffer = new ArrayBuffer(8);
var z = new Uint8Array(buffer, 1, 4);
// From an iterable
var iterable = function*(){ yield* [1,2,3]; }();
var uint8 = new Uint8Array(iterable);
// Uint8Array[1, 2, 3]
Specifications
| Specification | Status | Comment |
|---|---|---|
| Typed Array Specification | Obsolete | Superseded by ECMAScript 6. |
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'TypedArray constructors' in that specification. |
Standard | Initial definition in an ECMA standard. Specified that new is required. |
| ECMAScript Latest Draft (ECMA-262) The definition of 'TypedArray constructors' in that specification. |
Draft | ECMAScript 2017 changed the Uint8Array constructor to use the ToIndex operation and allows constructors with no arguments. |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | 7.0 | (Yes) | 4.0 (2) | 10 | 11.6 | 5.1 |
new is required |
? | ? | 44 (44) | ? | ? | ? |
| Iterable in constructor | ? | ? | 52 (52) | ? | ? | ? |
| Constructor without arguments | ? | ? | 55 (55) | ? | ? | ? |
| Feature | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|
| Basic support | 4.0 | (Yes) | (Yes) | 4.0 (2) | 10 | 11.6 | 4.2 |
new is required |
? | ? | ? | 44.0 (44) | ? | ? | ? |
| Iterable in constructor | ? | ? | ? | 52.0 (52) | ? | ? | ? |
| Constructor without arguments | ? | ? | ? | 55.0 (55) | ? | ? | ? |
Compatibility notes
Starting with ECMAScript 2015, Uint8Array constructors require to be constructed with a new operator. Calling a Uint8Array constructor as a function without new, will throw a TypeError from now on.
var dv = Uint8Array([1, 2, 3]); // TypeError: calling a builtin Uint8Array constructor // without new is forbidden
var dv = new Uint8Array([1, 2, 3]);
See also
Document Tags and Contributors
Tags:
Contributors to this page:
fscholz,
jameshkramer,
kdex,
btzy,
dchest,
arai,
marcmanzano,
Sheppy,
LpH3,
mathphreak,
smirea,
kscarfone,
teoli,
jyasskin,
fusionchess,
Nfroidure,
markcaudill,
yyss,
Dikrib
Last updated by:
fscholz,