ArrayBuffer
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
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
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]
-
The constructor function that is used to create derived objects.
ArrayBuffer.prototype
-
Allows the addition of properties to all
ArrayBuffer
objects.
Methods
ArrayBuffer.isView(arg)
-
Returns
true
ifarg
is one of the ArrayBuffer views, such as typed array objects or aDataView
. Returnsfalse
otherwise. ArrayBuffer.transfer(oldBuffer [, newByteLength])
Experimental-
Returns a new
ArrayBuffer
whose contents are taken from theoldBuffer
's data and then is either truncated or zero-extended bynewByteLength
.
Instances
All ArrayBuffer
instances inherit from ArrayBuffer.prototype
.
Properties
Methods
ArrayBuffer.slice()
Non-standard-
Has the same functionality as
ArrayBuffer.prototype.slice()
.
Exemplo
In this example, we create a 8-byte buffer with a Int32Array
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.
var dv = ArrayBuffer(10);
// TypedError: calling a builtin ArrayBuffer constructor
// without new is forbidden
var dv = new ArrayBuffer(10);