ArrayBuffer

O objeto ArrayBuffer é um tipo de dado usado para representar um genérico, buffer de dados binários de tamanho fixo. Você não pode manipular diretamente os conteúdos de um ArrayBuffer; em vez disso, você cria um objeto ArrayBufferView que representa o buffer em um formato específico, e usa para ler e escrever os conteúdos do buffer.

Experimente

Syntax

new ArrayBuffer(length)

Parameters

length

The size, in bytes, of the array buffer to create.

Return value

A new ArrayBuffer object of the specified size. Its contents are initialized to 0.

Exceptions

A RangeError (en-US) is thrown if the length is larger than Number.MAX_SAFE_INTEGER (>= 2 ** 53) or negative.

Description

The ArrayBuffer constructor creates a new ArrayBuffer of the given length in bytes.

Getting an array buffer from existing data

Properties

ArrayBuffer.length

The ArrayBuffer constructor's length property whose value is 1.

get ArrayBuffer[@@species] (en-US)

The constructor function that is used to create derived objects.

ArrayBuffer.prototype (en-US)

Allows the addition of properties to all ArrayBuffer objects.

Methods

ArrayBuffer.isView(arg) (en-US)

Returns true if arg is one of the ArrayBuffer views, such as typed array objects (en-US) or a DataView. Returns false otherwise.

ArrayBuffer.transfer(oldBuffer [, newByteLength]) (en-US) Experimental

Returns a new ArrayBuffer whose contents are taken from the oldBuffer's data and then is either truncated or zero-extended by newByteLength.

Instances

All ArrayBuffer instances inherit from ArrayBuffer.prototype (en-US).

Properties

{{page('en-US/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Properties')}}

Methods

{{page('en-US/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/prototype','Methods')}}
ArrayBuffer.slice() (en-US) Non-standard

Has the same functionality as ArrayBuffer.prototype.slice() (en-US).

Exemplo

In this example, we create a 8-byte buffer with a Int32Array (en-US) view referring to the buffer:

var buffer = new ArrayBuffer(8);
var view   = new Int32Array(buffer);

Especificações

Specification
ECMAScript Language Specification
# sec-arraybuffer-objects

Compatibilidade com navegadores

BCD tables only load in the browser

Compatibility notes

Starting with ECMAScript 2015, ArrayBuffer constructors require to be constructed with a new operator. Calling an ArrayBuffer constructor as a function without new, will throw a TypeError from now on.

js
var dv = ArrayBuffer(10);
// TypedError: calling a builtin ArrayBuffer constructor
// without new is forbidden
js
var dv = new ArrayBuffer(10);

Veja também