Разница составляет Javascript операторы переключения - PullRequest
1 голос
/ 21 февраля 2020

Кто-то взглянул на мой код на днях и сказал, что мое заявление о переключении было написано неправильно, но у меня никогда не возникало проблем с тем, как я его написал.

Я огляделся в отношении операторов switch, и действительно, мой оператор switch написан не так, а аналогично, за исключением размещения разрыва.

Мой оператор switch это

switch(val){
    case 'Add':{

    }break;
    case 'Edit':{

    }break;
    case 'Save':{

    }break;
    case 'Cancel':{

    }break;
    default:{

    }break;
}

и я взглянул на Javascript Switch , и он показал следующее утверждение

const action = 'say_hello';
switch (action) {
  case 'say_hello': {
    let message = 'hello';
    console.log(message);
    break;
  }
  case 'say_hi': {
    let message = 'hi';
    console.log(message);
    break;
  }
  default: {
    console.log('Empty action received.');
    break;
  }
}

Итак, мой вопрос, учитывая, как я написал свой switch switch, какие последствия могут произойти с тем, как я это написал, по сравнению с другим предоставленным фрагментом? Технически ли это имеет значение, где расположены мои перерывы?

1 Ответ

4 голосов
/ 21 февраля 2020

{} - это операторы блока , и они совершенно лишние, на самом деле они ничего не делают. Они не требуются синтаксисом switch. Все, что они делают в вашем случае, это ограничивают область действия операторов let. Кроме того, нет никакой разницы между:

{
  foo;
}
bar;

и:

{
  foo;
  bar;
}

Оба будут выполнять оба оператора один за другим.

...