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).
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.
Uint8Array.BYTES_PER_ELEMENT1 in the case of an Uint8Array.Uint8Array.prototype.length.Uint8Array.nameUint8Array type: "Uint8Array".Uint8Array.prototypeUint8Array.from()Uint8Array from an array-like or iterable object. See also Array.from().Uint8Array.of()Uint8Array with a variable number of arguments. See also Array.of().Uint8Array prototypeAll Uint8Array objects inherit from %TypedArray%.prototype.
Uint8Array.prototype.constructorUint8Array constructor by default.Uint8Array.prototype.buffer Read only
ArrayBuffer referenced by the Uint8Array Fixed at construction time and thus read only.Uint8Array.prototype.byteLength Read only
Uint8Array. Fixed at construction time and thus read only.
Uint8Array.prototype.byteOffset Read only
Uint8Array from the start of its ArrayBuffer. Fixed at construction time and thus read only.
Uint8Array.prototype.length Read only
Uint8Array. Fixed at construction time and thus read only.
Uint8Array.prototype.copyWithin()Array.prototype.copyWithin().Uint8Array.prototype.entries()Array Iterator object that contains the key/value pairs for each index in the array. See also Array.prototype.entries().Uint8Array.prototype.every()Array.prototype.every().Uint8Array.prototype.fill()Array.prototype.fill().Uint8Array.prototype.filter()Array.prototype.filter().Uint8Array.prototype.find()undefined if not found. See also Array.prototype.find().Uint8Array.prototype.findIndex()Array.prototype.findIndex().Uint8Array.prototype.forEach()Array.prototype.forEach().Uint8Array.prototype.includes()
true or false as appropriate. See also Array.prototype.includes().Uint8Array.prototype.indexOf()Array.prototype.indexOf().Uint8Array.prototype.join()Array.prototype.join().Uint8Array.prototype.keys()Array Iterator that contains the keys for each index in the array. See also Array.prototype.keys().Uint8Array.prototype.lastIndexOf()Array.prototype.lastIndexOf().Uint8Array.prototype.map()Array.prototype.map().Uint8Array.prototype.move() Unimplemented
Uint8Array.prototype.copyWithin().Uint8Array.prototype.reduce()Array.prototype.reduce().Uint8Array.prototype.reduceRight()Array.prototype.reduceRight().Uint8Array.prototype.reverse()Array.prototype.reverse().Uint8Array.prototype.set()Uint8Array.prototype.slice()Array.prototype.slice().Uint8Array.prototype.some()Array.prototype.some().Uint8Array.prototype.sort()Array.prototype.sort().Uint8Array.prototype.subarray()Uint8Array from the given start and end element index.Uint8Array.prototype.values()Array Iterator object that contains the values for each index in the array. See also Array.prototype.values().Uint8Array.prototype.toLocaleString()Array.prototype.toLocaleString().Uint8Array.prototype.toString()Array.prototype.toString().Uint8Array.prototype[@@iterator]()Array Iterator object that contains the values for each index in the array.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]
| 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. |
| Desktop | ||||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
| Basic support | 7 | Yes | 4 | 10 | 11.6 | 5.1 |
Uint8Array() without new throws |
Yes | Yes | 44 | No | Yes | ? |
| Iterable in constructor | ? | ? | 52 | ? | ? | ? |
| Constructor without arguments | ? | ? | 55 | ? | ? | ? |
| Mobile | |||||||
|---|---|---|---|---|---|---|---|
| Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
| Basic support | 4 | Yes | Yes | 4 | 11.6 | 4.2 | Yes |
Uint8Array() without new throws |
? | ? | ? | 44 | ? | ? | ? |
| Iterable in constructor | ? | ? | ? | 52 | ? | ? | ? |
| Constructor without arguments | ? | ? | ? | 55 | ? | ? | ? |
| Server | |
|---|---|
| Node.js | |
| Basic support | 0.10 |
Uint8Array() without new throws |
0.12 |
| Iterable in constructor | 4.0.0 |
| Constructor without arguments | ? |
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]);
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array