Skip to content

ArrayBuffer

Find out what is an ArrayBuffer and how to use it

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)
}

→ I wrote 17 books to help you become a better developer:

  • C Handbook
  • Command Line Handbook
  • CSS Handbook
  • Express Handbook
  • Git Cheat Sheet
  • Go Handbook
  • HTML Handbook
  • JS Handbook
  • Laravel Handbook
  • Next.js Handbook
  • Node.js Handbook
  • PHP Handbook
  • Python Handbook
  • React Handbook
  • SQL Handbook
  • Svelte Handbook
  • Swift Handbook
...download them all now!

Also, JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list