The stack data structure
A stack is an ordered collection of items that follows the last in, first out (LIFO) principle. The addition of new items or the removal of existing items takes place at the same end. The end of the stack is known as the top, and the opposite side is known as the base. The newest elements are near the top, and the oldest elements are near the base.
We have several examples of stacks in real life, for example, a pile of books, as we can see in the following image, or a stack of trays in a cafeteria or food court:

A stack is also used by compilers in programming languages, by the computer memory to store variables and method calls, and also by the browser history (the browser's back button).
Creating an array-based Stack class
We are going to create our own class to represent a stack. Let's start with the basics by creating a stack-array.js
file and declaring our Stack
class:
class Stack { constructor() { this.items = []; // {1} } }
We need a data structure that...