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.

ArrayBuffer() 생성자는 ArrayBuffer 객체를 생성합니다.

시도해보기

구문

js
new ArrayBuffer(length)
new ArrayBuffer(length, options)

참고: ArrayBuffer()는 오직 new로만 생성할 수 있습니다. new 없이 호출을 시도하면 TypeError 예외가 발생합니다.

매개변수

length

생성할 ArrayBuffer의 바이트 크기.

length

생성할 배열 버퍼의 바이트 단위의 크기.

options Optional

다음 속성을 포함하는 객체.

maxByteLength Optional

배열 버퍼가 크기를 재조정할 수 있는 바이트 단위 최대 크기.

반환 값

지정한 크기를 가진 새로운 ArrayBuffer 객체. 내용은 모두 0으로 초기화됩니다.

지정된 크기의 새 ArrayBuffer 객체입니다. maxByteLength 속성이 명시되어 있을 경우 이 값으로 maxByteLength 속성이 설정됩니다. 그 내용은 0으로 초기화됩니다.

예외

RangeError

다음 중 한 가지 경우에 발생합니다.

  • length 혹은 maxByteLengthNumber.MAX_SAFE_INTEGER (≥ 253)보다 크거나 음수일 경우
  • lengthmaxByteLength보다 클 경우.

예제

ArrayBuffer 생성하기

이 예제에서는 버퍼를 참조하는 Int32Array 뷰를 사용하여 8바이트 버퍼를 만듭니다.

js
const buffer = new ArrayBuffer(8);
const view = new Int32Array(buffer);

크기 조절이 가능한 ArrayBuffer 생성하기

이 예제에서는 최대 16바이트까지 크기를 조정할 수 있는 8바이트 버퍼를 생성한 다음 resize() 이를 12바이트로 조정합니다.

js
const buffer = new ArrayBuffer(8, { maxByteLength: 16 });

buffer.resize(12);

참고: maxByteLength는 사용 사례에 맞게 가능한 가장 작은 값으로 설정하는 것이 좋습니다. 메모리 부족 오류의 위험을 줄이려면 1073741824(1GB)를 초과하지 않아야 합니다.

명세서

Specification
ECMAScript Language Specification
# sec-arraybuffer-constructor

브라우저 호환성

BCD tables only load in the browser

같이 보기