바이너리 데이터를 저장하는 오브젝트이다.
new ArrayBuffer(바이트 수)
로 생성하여
파라미터에서 사용된 값의바이트 수
만큼고정적으로 메모리를 할당
하여 인스턴스를 생성한다.ArrayBuffer의 값은 직접적으로 CRUD 할 수 없다.
간접적으로 TypedArray 혹은 DataView로 CRUD 할 수 있다
파라미터는 일반적으로 Number 타입만 가능하며
String 타입이나 온전히 숫자 값이면 허용한다.
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의 데이터를 복사한다.
새로운 인스턴스에 설정하여 반환한다.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
파라미터가 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