除了之前提到的 if else 判斷外,另外一個判斷就是 switch 了。
用來判斷變數 (variable) 內容是否為指定的值 (value)
格式如下
switch (variable) {
case 'value':
// when variable == 'value'
break;
default:
// when not any match
break;
}
範例
判斷性別值對應說明
let gender = 'M';
switch (gender) {
case 'M':
console.log('男生');
break;
case 'F':
console.log('女生');
break;
default:
console.log('未知');
break;
}
比較
以上面的範例來說,也可以使用 if 來完成。
if (gender == 'M') {
console.log('男生');
} else if (gender == 'F') {
console.log('女生');
} else {
console.log('未知');
}
與 if 相比,switch 適合處理有明確值的判斷,而非條件式的判斷。
if 因為是條件式的判斷,所以包含了明確值的判斷,應用上較為廣泛。
雖然上面的範例感覺跟 switch 版本差不多冗長,但是經過設計後,也可以變得精簡與好的可讀性。
if (gender == 'M') {
return console.log('男生');
}
if (gender == 'F') {
return console.log('女生');
}
console.log('未知');