Caso de mudança de JavaScript

Resumo : neste tutorial, você aprenderá como usar a switchinstrução JavaScript para executar um bloco com base em múltiplas condições.

Introdução à instrução switch case JavaScript

A switchinstrução avalia um expression, compara seus resultados com casevalores e executa a instrução associada ao casevalor correspondente.

O seguinte ilustra a sintaxe da switchinstrução:

switch (expression) {
    case value1:
        statement1;
        break;
    case value2:
        statement2;
        break;
    case value3:
        statement3;
        break;
    default:
        statement;
}Linguagem de código:  JavaScript  ( javascript )

Como funciona.

  • Primeiro, avalie expressiondentro dos parênteses após a switchpalavra-chave.
  • Segundo, compare o resultado da expressão com value1, value2,… nas caseramificações de cima para baixo. A switchinstrução usa a comparação estrita ( ===).
  • Terceiro, execute a instrução na caseramificação onde o resultado de é expressionigual ao valor que segue a casepalavra-chave. A breakinstrução sai da switchinstrução. Se você pular a breakinstrução, a execução do código passará da ramificação do caso original para a próxima. Se o resultado da expressão não for estritamente igual a nenhum valor, a switchinstrução executará statementna defaultramificação.

A switchinstrução irá parar de comparar o expressionresultado do com os valores restantes do caso, desde que encontre uma correspondência.

A switchdeclaração é como a declaração if…else…if . Mas tem uma sintaxe mais legível.

O fluxograma a seguir ilustra a switchafirmação:

mudança javascript

Na prática, muitas vezes você usa uma  switchinstrução para substituir uma instrução complexa if...else...ifpara tornar o código mais legível.

Tecnicamente, a  switchafirmação é equivalente à seguinte   if...else...ifafirmação:

if (expression === value1) {
  statement1;
} else if (expression === value2) {
  statement2;
} else if (expression === value3) {
  statement3;
} else {
  statement;
}
Linguagem de código:  JavaScript  ( javascript )

Exemplos de casos de mudança de JavaScript

Vejamos alguns exemplos de uso da switchinstrução JavaScript.

1) Usando a instrução switch JavaScript para obter o dia da semana

O exemplo a seguir usa a switchinstrução para obter o dia da semana com base em um número de dia:

let day = 3;
let dayName;

switch (day) {
  case 1:
    dayName = 'Sunday';
    break;
  case 2:
    dayName = 'Monday';
    break;
  case 3:
    dayName = 'Tuesday';
    break;
  case 4:
    dayName = 'Wednesday';
    break;
  case 5:
    dayName = 'Thursday';
    break;
  case 6:
    dayName = 'Friday';
    break;
  case 7:
    dayName = 'Saturday';
    break;
  default:
    dayName = 'Invalid day';
}

console.log(dayName); // Tuesday
Linguagem de código:  JavaScript  ( javascript )

Saída:

Tuesday

Como funciona.

Primeiro, declare a variável do dia que contém o número do dia e a variável do nome do dia (dayName).

Segundo, obtenha o dia da semana com base no número do dia usando o switchextrato. Se o dia for 1, o dia da semana será Sunday. Se o dia for 2, o dia da semana será Monday, e assim por diante.

Terceiro, envie o dia da semana para o console.

2) Usando a instrução switch JavaScript para obter a contagem de dias com base em um mês

O exemplo a seguir usa a switchinstrução para obter a contagem de dias de um mês:

let year = 2016;
let month = 2;
let dayCount;

switch (month) {
  case 1:
  case 3:
  case 5:
  case 7:
  case 8:
  case 10:
  case 12:
    dayCount = 31;
    break;
  case 4:
  case 6:
  case 9:
  case 11:
    dayCount = 30;
    break;
  case 2:
    // leap year
    if ((year % 4 == 0 && !(year % 100 == 0)) || year % 400 == 0) {
      dayCount = 29;
    } else {
      dayCount = 28;
    }
    break;
  default:
    dayCount = -1; // invalid month
}

console.log(dayCount); // 29Linguagem de código:  JavaScript  ( javascript )

Neste exemplo, temos quatro casos:

  • Se o mês for 1, 3,5, 7, 8, 10 ou 12, o número de dias de um mês é 31.
  • Se o mês for 4, 6, 9 ou 11, o número de dias desse mês será 30.
  • Se o mês for 2 e o ano não for bissexto, o número de dias será 28. Se o ano for bissexto, o número de dias será 29.
  • Se o mês não estiver no intervalo válido (1-12), a defaultramificação é executada e define a dayCountvariável como -1, o que indica o mês inválido.

Resumo

  • A switchinstrução avalia uma expressão, compara seu resultado com casevalores e executa a instrução associada ao caso correspondente.
  • Use a switchinstrução em vez de uma if...else...ifinstrução complexa para tornar o código mais legível.
  • A switchinstrução usa a comparação estrita ( ===) para comparar expressioncom os casevalores.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *