JavaScript 對字串進行 switch 操作
    
    Anika Tabassum Era
    2024年2月15日
    
    JavaScript
    JavaScript Switch
    
 
switch-case 語句與 conditional 語句相同。這兩個函式之間的區別僅在於語法。
switch 語句計算表示式及其型別,然後將其與宣告性 case 子句匹配。匹配是通過 === 嚴格相等操作來操作的。
triple equal === 只會推斷出在型別和案例中是可靠的匹配。這隻會產生布林值,因此我們的子句要麼匹配 switch 表示式,要麼跟隨 default 部分。
用 switch 字串滿足 case 子句
我們將使用 string 啟動一個變數,並將此表示式傳遞給此示例的 switch 語句。接下來,switch 語句將比較 case 子句和它擁有的表示式。
如果匹配返回 true,則該特定程式碼塊的程式碼行將執行。
程式碼片段:
var str = 'butter';
switch (str) {
  case 'butter':
    console.log('Buttery delicious!');
    break;
  case 'chocolate':
    console.log('Ain\'t chocolate everyones fav!');
    break;
  default:
    console.log('What\'s wrong with your tastebud?');
}
輸出:

通過 switch 中的型別轉換字串表示式滿足 case 子句
    
我們將建立一個帶有數字的變數,但是當我們將它作為 switch 語句的表示式傳遞時,我們將執行型別轉換。
如果 switch 語句表示式和 case 子句的顯式條件是相同的資料型別,則它不會適用於 default 情況。
如果你不知道表示式的型別,請嘗試將其轉換為 string 或針對特定情況的任何其他首選型別。通常在開發中,你可能會遇到 this 物件例項,當你跟隨 switch(this) 時,你可能會遇到錯誤。
即使它是一個例項,它也不同於字串原語。因此,你必須以這種方式明確定義它:switch(String(this))。
程式碼片段:
var val = 42;
switch (String(val)) {
  case 1:
  case 2:
  case 3:
  case 42:
    console.log('It\'s a digit');
    break;
  default:
    console.log('OOPS! This is string');
}
輸出:

        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
