讀書筆記: JavaScript技術手冊3 - 基本語法(流程、迴圈)

流程語法

switch

  • 比較方式:===
  • 語法
      switch(variable or expression){
          case primitive or composite value: 
              statement;
              break;
          case primitive or composite value: 
              statement;
              break;
          case primitive or composite value: 
              statement;
              break;
          ...
          default:
              statement;
      }
    

迴圈

for

  • for of (可正確取得字元而非碼元)

      for(let num of [10, 20, 30]) console.log(num);
    
      10
      20
      30
    
      for(let char of '嗨囉沃德') console.log(char);
      嗨
      囉
      沃
      德
    
    • 物件要用 for of 語法走訪要實作 Symbol.iterator 方法並傳回 迭代器(iterator)
  • for in 列舉物件本身和繼承而來的properties

    • 這邊的 "in"in operator 不同

      // Array.length is non-enumerable 所以沒被列出
      let arr = [10, 20, 30];
      for(let key in arr) console.log(key, arr[key]);
      
      0 10
      1 20
      2 30
      

其他迴圈語法

  • while
  • do..while

break, continue

  • 標籤
      back: {
          for(let i = 0; i < 10; ++i){
              if(i === 9) break back;   // 跳出整個back block
          }
      }