The Queue class using ECMAScript 6 syntax
As we learned in
Chapter 3
, Stacks, we can also write the same Queue
class using the ECMAScript 6 syntax. In this approach, we will use a WeakMap
to keep the property items
private, and we will also use an outer function (closure
) to encapsulate the Queue
class.
The code is presented as follows:
let Queue2 = (function () { const items = new WeakMap(); class Queue2 { constructor () { items.set(this, []); } enqueue(element) { let q = items.get(this); q.push(element); } dequeue() { let q = items.get(this); let r = q.shift(); return r; } //other methods } return Queue2; })();
You can use either of the Queue
class that we created; the output of our tests will be the same.
Get Learning JavaScript Data Structures and Algorithms - Second 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.