Protecting the internal elements of the data structure

When we are creating a data structure or object that other developers might also use, we want to protect the internal elements so only the methods we exposed are used to modify the internal structure. In the case of the Stack class, we want to make sure the elements are added to the top of the stack and it is not possible to add elements in the base of the stack or any other random position (in the middle of the stack). Unfortunately, the items and the count properties we declared in the Stack class are not protected and this behavior is due to how JavaScript classes work. 

Try running the following code:

const stack = new Stack();console.log(Object.getOwnPropertyNames(stack)); // {1} ...

Get Learning JavaScript Data Structures and Algorithms - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.