和第3章一样,我们也可以用ECMAScript 6语法编写Queue
类。在这种方法中,我们要用一个WeakMap
来保存私有属性items
,并用外层函数(闭包)来封装Queue
类。
代码如下:
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; } //其他方法 } return Queue2;});
我们创建的两个Queue
类你都可以用,测试的输出是一样的。