[JavaScript] ArrayBuffer

Narcoker·2023년 6월 16일
0

JavaScript

목록 보기
45/55

ArrayBuffer

바이너리 데이터를 저장하는 오브젝트이다.

new ArrayBuffer(바이트 수)로 생성하여
파라미터에서 사용된 값의 바이트 수만큼 고정적으로 메모리를 할당하여 인스턴스를 생성한다.

ArrayBuffer의 값은 직접적으로 CRUD 할 수 없다.
간접적으로 TypedArray 혹은 DataView로 CRUD 할 수 있다

파라미터는 일반적으로 Number 타입만 가능하며
String 타입이나 온전히 숫자 값이면 허용한다.

ArrayBuffer.byteLength

ArrayBuffer의 바이트 수를 반환한다.

const buffer= new ArrayBuffer(10);
const handler = {
  	get(target, key){
      	return target[key] + "바이트";
    }
}
const proxy = new Proxy(buffer, handler);
console.log(proxy.byteLength); // 10바이트

ArrayBuffer.slice()

ArrayBuffer의 데이터를 복사한다.
새로운 인스턴스에 설정하여 반환한다.

const buffer = new ArrayBuffer(10);
const objAll = buffer.slice(0);
console.log(objAll.byteLength); 10 

const obj37 = buffer.slice(3,7); // 10
console.log(obj37.byteLength); // 4

ArrayBuffer.isView()

파라미터가 TypedArray 또는 DataView 이면 true를 아니면 false 반환

const buffer = new ArrayBuffer(10);
console.log(ArrayBuffer.isView(buffer)); // false

const int16 = new Int16Array(buffer);
console.log(ArrayBuffer.isView(int16)); // true

const view = new DataView(buffer);
console.log(ArrayBuffer.isView(view)); // true
profile
열정, 끈기, 집념의 Frontend Developer

0개의 댓글