比Switch...Case更加優雅的多條件判斷寫法

前言

前幾天,本人負責編寫網站上線的環境判斷功能,其中涉及到大量多條件判斷的code。對於多條件判斷寫法,大部分程序員都是採用if...else if...else或者switch...case的寫法,可是有一種多條件判斷寫法,比傳統寫法更加有趣且優雅——對象屬性判斷法程序員

實例展現

廢話很少說了,下面直接用三個實例,給你們分別展現三種不一樣的多條件判斷寫法。bash

1. if...else if...else

function whatFood(mealtime) {
    let food = '';

    if (mealtime === 'breakfasttime') {
        food = 'egg';
    } else if (mealtime === 'lunchtime') {
        food = 'vegetable'
    } else if (mealtime === 'dinnertime') {
        food = 'fruit'
    } else {
        food = 'cookie'
    }

    return food;
}
複製代碼

2. switch...case

function whatFood(mealtime) {
    let food = '';

    switch (mealtime) {
        case 'breakfasttime':
            food = 'egg';
            break;
        case 'lunchtime':
            food = 'vegetable';
            break;
        case 'dinnertime':
            food = 'fruit';
            break;
        default:
            food = 'cookie';
    }

    return food;
}
複製代碼

3. 對象屬性判斷法

function whatFood(mealtime) {

    const food = {
        breakfasttime: 'egg',
        lunchtime: 'vegetable',
        dinnertime: 'fruit'
    }

    return food[mealtime] ? food[mealtime] : 'cookie';
}
複製代碼

總結

相信你經過上面三個實例,已經看到了不一樣寫法孰優孰劣,若是你有更好的多條件判斷寫法,歡迎留言討論,祝工做順利,生活愉快。cookie

相關文章
相關標籤/搜索