--- title: ArrayBuffer slug: Web/JavaScript/Reference/Global_Objects/ArrayBuffer tags: - Array tipizzati - ArrayBuffer - Constructor - Costruttore - JavaScript - TypedArrays translation_of: Web/JavaScript/Reference/Global_Objects/ArrayBuffer ---
L'oggetto ArrayBuffer
viene utilizzato per rappresentare un buffer di lunghezza fissa di dati non elaborati. Non è possibile manipolare il contenuto di un ArrayBuffer
, è possibile invece creare un array di oggetti tipizzati o un oggetto di tipo {{jsxref("DataView")}} che rappresenta il buffer in uno specifico formato ed utilizzare questo per leggere e scrivere il contenuto del buffer.
new ArrayBuffer(length)
length
Un nuovo oggetto di tipo ArrayBuffer
della dimensione specificata. Il suo contenuto è inzializzato a 0.
Un {{jsxref("RangeError")}} viene generato se la lunghezza è maggiore di di {{jsxref("Number.MAX_SAFE_INTEGER")}} (>= 2 ** 53) oppure è negativa.
Il costruttore ArrayBuffer
crea un nuovo ArrayBuffer
di lunghezza specificata in bytes.
ArrayBuffer.length
ArrayBuffer
il cui valore è 1.ArrayBuffer
.true
se args
è una delle viste di ArrayBuffer, come un array di oggetti tipizzato o un {{jsxref("DataView")}}. Altrimenti restituisce false
.ArrayBuffer
i cui contenuti sono presi dai dati dell'oggetto oldBuffer
e successivamente troncato o esteso a zero tramite newByteLength
.Tutte le istanze di ArrayBuffer ereditano da {{jsxref("ArrayBuffer.prototype")}}.
{{page('en-US/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Properties')}}
{{page('en-US/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Methods')}}
In questo esempio viene creato un buffer di 8 byte con una vista di tipo {{jsxref("Global_Objects/Int32Array", "Int32Array")}} che si riferisce al buffer
var buffer = new ArrayBuffer(8); var view = new Int32Array(buffer);
Specification | Status | Comment |
---|---|---|
{{SpecName('Typed Array')}} | {{Spec2('Typed Array')}} | Sostituito da ECMAScript 6. |
{{SpecName('ES6', '#sec-arraybuffer-constructor', 'ArrayBuffer')}} | {{Spec2('ES6')}} |
Definizione iniziale con standard ECMA. Specifica che |
{{SpecName('ESDraft', '#sec-arraybuffer-constructor', 'ArrayBuffer')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.ArrayBuffer")}}
Con ECMAScript 2015, ArrayBuffer deve essere inizializzato con l'operatore {{jsxref("Operators/new", "new")}}. Inizializzare ArrayBuffer senza l'operatore new genererà un {{jsxref("TypeError")}}.
var dv = ArrayBuffer(10); // TypeError: inizializzaree un ArrayBuffer senza il costruttore new // genererà un errore
var dv = new ArrayBuffer(10);