switch 判斷

除了之前提到的 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('未知');