Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026
The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.
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 = () => {
callback(xhr.response)
}
xhr.send(null)
} Lessons in this unit:
| 0: | Introduction |
| 1: | ▶︎ ArrayBuffer |
| 2: | ArrayBufferView |
| 3: | Typed Arrays |
| 4: | DataView |
| 5: | Data URLs |