11. Iterators & Generators

2018-02-24 16:11 更新
  • 11.1?不要使用 iterators。使用高階函數(shù)例如?map()?和?reduce()?替代?for-of。

    為什么?這加強(qiáng)了我們不變的規(guī)則。處理純函數(shù)的回調(diào)值更易讀,這比它帶來的副作用更重要。

      const numbers = [1, 2, 3, 4, 5];
    
      // bad
      let sum = 0;
      for (let num of numbers) {
        sum += num;
      }
    
      sum === 15;
    
      // good
      let sum = 0;
      numbers.forEach((num) => sum += num);
      sum === 15;
    
      // best (use the functional force)
      const sum = numbers.reduce((total, num) => total + num, 0);
      sum === 15;
  • 11.2?現(xiàn)在還不要使用 generators。

    為什么?因?yàn)樗鼈儸F(xiàn)在還沒法很好地編譯到 ES5。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號