Switch陳述式是編寫複雜if / else 陳述式的另一種方法,基本上我們要做的是將一個值和多個不同的選項進行比較。
舉例來說:
const material = "chocolate";
switch(material) {
case "chocolate":
console.log("Chocolate cake");
console.log("Hot chocolate");
break;
case "cinnamon":
console.log("Cinnamon roll");
console.log("Cinnamon tea");
break;
case "apple":
console.log("Apple pie");
break;
default:
console.log("Recipe not found");
}
// Chocolate cake
// Hot chocolate
上述程式碼的意思是switch後面括號中的material和case後面的值若是嚴格等量,就會執行其後的程式碼,也就是material === "chocolate"的結果若為true,就會執行"chocolate": 後面的程式碼,之後再加上break以終止執行更下面的程式碼。
值後面的冒號後的程式碼都會被執行(不需要加{ }),因此我們可以執行多行程式碼,這點和大多數的JavaScript語法不太一樣。
我們也可以設一個默認值default,當前面所有case的結果都是false時,便會執行默認值後面的程式碼。
雖然switch陳述式乍看之下要撰寫的東西變多了,但從字面上來看,它的可讀性卻是更強的。