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

Queues are similar to stacks, except the insertion point is different from the removal point.

We add at one end of the queue, and we remove from the other end.

This time, we call it First In, First Out (FIFO).

Like any queue you can think of, for example at the restaurant, disco or when you’re waiting to enter into a concert hall.

Here is a possible implementation of a queue in JavaScript using private class fields, using an array as the internal storage:

class Queue {
  #items = []
  enqueue = (item) => this.#items.splice(0, 0, item)
  dequeue = () => this.#items.pop()
  isempty = () => this.#items.length === 0
  empty = () => (this.#items.length = 0)
  size = () => this.#items.length

Here’s how to use it: you first initialize an object from the class, then you call its methods:

  • enqueue() to add items
  • dequeue() to get an item out of the queue


const queue = new Queue()
queue.size() //3

queue.dequeue() //1
queue.dequeue() //2
queue.dequeue() //3

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 js tutorials: