Skip to Content
Learning JavaScript Data Structures and Algorithms - Third Edition
book

Learning JavaScript Data Structures and Algorithms - Third Edition

by Loiane Avancini
April 2018
Beginner to intermediate content levelBeginner to intermediate
426 pages
10h 19m
English
Packt Publishing
Content preview from Learning JavaScript Data Structures and Algorithms - Third Edition

ES2015 classes with scoped symbols

ES2015 introduced a new primitive type called Symbol that is immutable, and it can be used as an object property. Let's see how we can use it to declare the items property in the Stack class (we will use an array for storage to simplify the code):

const _items = Symbol('stackItems'); //{1} 
class Stack { 
  constructor () { 
    this[_items] = []; //{2} 
  } 
  //Stack methods 
} 

In the preceding code, we declared the variable _items as a Symbol (line {1}), and initiated its value inside the class constructor (line {2}). To access the variable _items, we simply need to replace all this.items occurrences with this[_items].

This approach provides a false class private property, because the method Object.getOwnPropertySymbols ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Learning JavaScript Data Structures and Algorithms

Learning JavaScript Data Structures and Algorithms

Loiane Avancini

Publisher Resources

ISBN: 9781788623872Supplemental Content