los Uint8Array() constructor crea un tipo array de enteros sin signo de 8 bits. Los contenidos se inicializan para 0. Una vez establecido, puede hacer referencia a elementos en el array usando los métodos del objeto, o usando estándar array sintaxis de índice (es decir, usando notación de corchetes).

Sintaxis

newUint8Array();// new in ES2017newUint8Array(length);newUint8Array(typedArray);newUint8Array(object);newUint8Array(buffer);newUint8Array(buffer, byteOffset);newUint8Array(buffer, byteOffset, length);

Parámetros

length
Cuando se llama con un length argumento, un interno array El búfer se crea en la memoria, de tamaño length multiplicado por BYTES_PER_ELEMENT bytes, que contienen ceros.
typedArray
Cuando se llama con un typedArray argumento, que puede ser un objeto de cualquiera de los tipos array tipos (como Int32Array), los typedArray se copia en un nuevo tipo array. Cada valor en typedArray se convierte al tipo correspondiente del constructor antes de ser copiado en el nuevo array. La longitud del nuevo mecanografiado array será la misma que la longitud del typedArray argumento.
object
Cuando se llama con un object argumento, un nuevo tipo array es creado como por el TypedArray.from() método.
buffer, byteOffset, length
Cuando se llama con un buffer, y opcionalmente un byteOffset y un length argumento, un nuevo tipo array Se crea una vista que ve el especificado ArrayBuffer. los byteOffset y length Los parámetros especifican el rango de memoria que será expuesto por el tipo array vista. Si se omiten ambos, todos buffer es visto; si solo length se omite, el resto de buffer es visto.

Ejemplos de

Diferentes formas de crear un Uint8Array

// From a lengthvar uint8 =newUint8Array(2);
uint8[0]=42;
console.log(uint8[0]);// 42
console.log(uint8.length);// 2
console.log(uint8.BYTES_PER_ELEMENT);// 1// From an arrayvar arr =newUint8Array([21,31]);
console.log(arr[1]);// 31// From another TypedArrayvar x =newUint8Array([21,31]);var y =newUint8Array(x);
console.log(y[0]);// 21// From an ArrayBuffervar buffer =newArrayBuffer(8);var z =newUint8Array(buffer,1,4);// From an iterablevariterable=function*()yield*[1,2,3];();var uint8 =newUint8Array(iterable);// Uint8Array[1, 2, 3]

Especificaciones

Especificación
ECMAScript (ECMA-262)
La definición de ‘constructores TypedArray’ en esa especificación.

Compatibilidad del navegador

Escritorio Móvil
Cromo Borde Firefox explorador de Internet Ópera Safari WebView Android Chrome Android Firefox para Android Opera Android Safari en IOS Internet de Samsung
Uint8Array 7 12 4 10 11,6 5.1 4 18 4 12 4.2 1.0
constructor_without_arguments 7 12 55 10 11,6 5.1 ≤37 18 55 12 5 1.0
iterable_allowed 39 14 52 No 26 10 39 39 52 26 10 4.0
new_required 7 14 44 No 15 5.1 ≤37 18 44 14 5 1.0

Notas de compatibilidad

A partir de ECMAScript 2015, Uint8Array Los constructores requieren ser construidos con un new operador. Llamando a un Uint8Array constructor como una función sin new, lanzará un TypeError de aquí en adelante.

var dv =Uint8Array([1,2,3]);// TypeError: calling a builtin Uint8Array constructor// without new is forbidden
var dv =newUint8Array([1,2,3]);

Ver también