JavaScript 對字串進行 switch 操作

Anika Tabassum Era 2023年1月30日 2022年5月10日
  1. switch 字串滿足 case 子句
  2. 通過 switch 中的型別轉換字串表示式滿足 case 子句
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 String 滿足 case 子句

通過 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");
}

輸出:

通過 switch 中的型別轉換字串表示式滿足 case 子句

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn GitHub Facebook