Just a few weeks until the 2021 JavaScript Full-Stack Bootcamp opens.
Signup to the waiting list!

Just as a Blob is an opaque representation of data available on disk, an ArrayBuffer is an opaque representation of bytes available in memory.

The constructor takes one parameter, the length in bytes:

const buffer = new ArrayBuffer(64)

An ArrayBuffer value has one (read-only) property: byteLength, which - as the name suggests - expresses its length in bytes.

It also provides a slice() instance method which creates a new ArrayBuffer from an existing one, taking a starting position and an optional length:

const buffer = new ArrayBuffer(64)
const newBuffer = buffer.slice(32, 8)

Downloading data from the internet as an ArrayBuffer

We can download a blob from the internet and store it into an ArrayBuffer using XHR:

const downloadBlob = (url, callback) => {
	const xhr = new XMLHttpRequest()
	xhr.open('GET', url)
	xhr.responseType = 'arraybuffer'

	xhr.onload = () => {


The 2021 JavaScript Full-Stack Bootcamp will start at the end of March 2021. Don't miss this opportunity, signup to the waiting list!

More browser tutorials: