Рубрики
Без рубрики

Оператор Автоматического выключателя: Предложение

Почти никто не использует перерывы так, как они были задуманы. С тегами javascript, ecma 262, java, c.

Я воспользовался преимуществом провала в переключении утверждениях может быть дважды. И это трудное “может быть”. Я действительно могу вспомнить только один случай, когда я не сломался после каждого случая блока. Для большинства из нас оператор switch будет в основном использоваться как сверхкомпактный if...else оператор, подобный следующему:

function getSeasonFromMonth(month)
{
    let season = null;
    switch (month)
    {
        case December:
        case January:
        case February: {
            season = Winter;
            break;
        }
        case March:
        case April:
        case May: {
            season = Spring;
            break;
        }
        case June:
        case July:
        case August: {
            season = Summer;
            break;
        }
        case September:
        case October:
        case November: {
            season = Autumn;
            break;
        }
    }
    return season;
}

Хотя вы, вероятно, использовали бы return в этом случае, я не хочу, чтобы вы поняли суть. Что если, если вы поставите разрыв перед переключателем затем он автоматически ломается d после каждого квартала? Таким образом, вы могли бы переписать вышесказанное как:

function getSeasonFromMonth(month)
{
    let season = null;
    switch (month)
    {
        case 'December':
        case 'January':
        case 'February': {
            season = 'Winter';
        }
        case 'March':
        case 'April':
        case 'May': {
            season = 'Spring';
        }
        case 'June':
        case 'July':
        case 'August': {
            season = 'Summer';
        }
        case 'September':
        case 'October':
        case 'November': {
            season = 'Autumn';
        }
    }
    return season;
}

Чистый код не повторяется, и я могу только представить себе кошмары, вызванные побочными эффектами забытого разрыва .

~Так что дайте нам перерыв TC39 и вставь это!~

Оригинал: “https://dev.to/nektro/the-auto-breaking-switch-statement-a-proposal-43dn”