JavaScript | Objeto ArrayBuffer

Un objeto ArrayBuffer se utiliza para representar un búfer de datos binarios sin procesar genérico de longitud fija. El contenido de un ArrayBuffer no se puede manipular directamente y solo se puede acceder a él a través de un objeto DataView o uno de los objetos de array escritos. Estos objetos se utilizan para leer y escribir el contenido del búfer. Se puede agregar más de un DataView o de objetos de array escritos a un ArrayBuffer y cualquier cambio en un objeto se puede ver fácilmente en la vista de otros objetos.
Las siguientes son las arrays con tipo:
Float32Array, Float64Array, Int8Array, Int16Array, Int32Array, Uint8Array, Uint8ClampedArray, Uint16Array, Uint32Array.
Sintaxis:

new ArrayBuffer(byteLength)

Parámetros: acepta un parámetro, es decir, longitud de bytes , que indica el tamaño, en bytes, del búfer de array que se creará.
Valor devuelto: Devuelve un nuevo objeto ArrayBuffer del tamaño especificado y el contenido se inicializa a 0.

Código JavaScript para mostrar el funcionamiento del objeto ArrayBuffer:

<script>
  
    //Create a 16byte buffer
    var buffer = new ArrayBuffer(16);
  
    //Create a DataView referring to the buffer
    var view1 = new DataView(buffer);
  
    //Create a Int8Array view referring to the buffer
    var view2 = new Int8Array(buffer);
  
    //Put value of 32bits
    view1.setInt32(0, 0x76543210);
  
    //prints the 32bit value
    document.write(view1.getInt32(0).toString(16) + "<br>"); 
      
    //prints only 8bit value 
    document.write(view1.getInt8(0).toString(16) + "<br>"); 
    document.write(view2[0].toString(16));
  
</script>                                       

Producción:

76543210
76
76

Propiedades :

  • ArrayBuffer.byteLength: la propiedad byteLength devuelve la longitud del búfer en bytes.
  • ArrayBuffer.prototype: Esta propiedad permite agregar propiedades a todos los objetos ArrayBuffer.

Métodos:

  • ArrayBuffer.isView(arg): si arg es una de las vistas de ArrayBuffer (objetos de array escritos o un DataView), se devuelve verdadero; de lo contrario, se devuelve falso.
  • ArrayBuffer.transfer(oldBuffer [, newByteLength]): el contenido del búfer antiguo especificado se trunca o se amplía a cero por el newByteLength especificado y se devuelve como un nuevo ArrayBuffer.

Métodos de instancia:

  • ArrayBuffer.slice() y ArrayBuffer.prototype.slice(): Se devuelve un nuevo ArrayBuffer cuyo contenido es una copia de los bytes de este ArrayBuffer desde el principio, inclusive, hasta el final, exclusivo.

Publicación traducida automáticamente

Artículo escrito por VidhyaChaudhary y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *