讀古今文學網 > 學習JavaScript數據結構與算法(第2版) > 4.3 用ECMAScript 6語法實現的Queue類 >

4.3 用ECMAScript 6語法實現的Queue類

和第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類你都可以用,測試的輸出是一樣的。