JavaScript 對字串進行 switch 操作
Anika Tabassum Era
2024年2月15日
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');
}
輸出: