EcmaScript 6 and the Stack class
Let's take a moment to analyze our code and see if we can improve it using some of the new EcmaScript 6 (ES6) functionalities.
We created a Stack
function that can be used as a sort of class; since JavaScript functions have constructors, we can simulate the class behavior. We declared a variable named items
that is private
and only accessible to the Stack
function/class. However, this approach creates a copy of the variable items
for each class instance created. Therefore, it does not escalate well in case we need to use several instances of the Stack
class at the same time.
Let's see how we can declare the same Stack
class using the new ES6 syntax and compare its pros and cons against the approach we used in this chapter.
Declaring the Stack class using ES6 syntax
The first code we will analyze is the following:
class Stack { constructor () { this.items = []; //{1} } push(element){ this.items.push(element); } //other methods...