Co

Condicionais em JavaScript

42 exercícios

Sobre Condicionais

Sintaxe geral

Uma forma comum de executar lógica condicionalmente em JavaScript é a condicional if. Ela consiste na palavra-chave if, uma condição entre parênteses redondos e um bloco de código entre chaves. O bloco de código só será executado se a condição for avaliada como true.

if (condition) {
  // code that is executed if "condition" is true
}

Ela pode ser usada sozinha ou combinada com a palavra-chave else.

if (condition) {
  // code that is executed if "condition" is true
} else {
  // code that is executed otherwise
}

Condicionais aninhadas

Para aninhar outra condição na cláusula else, você pode usar else if. Repare que não existe a palavra-chave elseif em JavaScript. Em vez disso, escreva else seguido de outra condicional if.

if (condition1) {
  // code that is executed if "condition1" is true
} else if (condition2) {
  // code that is executed if "condition2" is true
  // but "condition1" was false
} else {
  // code that is executed otherwise
}

Na teoria, você pode aninhar quantas condições adicionais quiser. Na prática, nesses casos você usaria uma instrução switch em vez disso.

if (condition1) {
  // ...
} else if (condition2) {
  // ...
} else if (condition3) {
  // ...
} else if (condition4) {
  // ...
} else {
  // ...
}

Condição

Ao construir condições complexas, consulte a tabela de precedência de operadores para evitar parênteses desnecessários.

if (num >= 0 && num < 1) {
  // ...
}

// The inner brackets are obsolete because relational operators
// have higher precedence than logical operators.
<!-- prettier-ignore-start -->

if ((num >= 0) && (num < 1)) {
  // ...
}
<!-- prettier-ignore-end -->

Além disso, considere usar variáveis adicionais para deixar o código mais legível.

const isPositive = num >= 0;
const isSmall = num < 1;
if (isPositive && isSmall) {
  // ...
}

Em JavaScript, a condição não precisa ser do tipo boolean. Se qualquer tipo diferente de boolean for fornecido num contexto booleano como a condicional, o JavaScript converte o valor implicitamente para boolean. Consulte o conceito de conversão de tipos para saber quais valores são truthy e falsy, respectivamente.

const num = 4;
if (num) {
  // this code block will be executed because 4 is truthy
}

Notações abreviadas

Se você quiser executar apenas uma instrução no bloco de código do if ou do else, é possível, em JavaScript, omitir as chaves.

if (condition) doSomething();

// or

if (condition)
  doSomething();

Às vezes isso é usado, por exemplo, ao verificar uma condição de erro. Em geral, não é recomendado, porque é fácil esquecer de colocar as chaves de volta ao adicionar uma segunda instrução que deveria depender da mesma condição.

Ao escrever funções, é um padrão comum omitir o bloco else e usar um return antecipado no bloco if. Em muitos casos, isso reduz o aninhamento e deixa o código mais legível e mais fácil de acompanhar.

function checkNumber(num) {
  let message = '';

  if (num === 0) {
    message = 'You passed 0, please provide another number.';
  } else {
    message = 'Thanks for passing such a nice number.';
  }

  return message;
}

// Can also be written as ...
function checkNumber(num) {
  if (num === 0) {
    return 'You passed 0, please provide another number.';
  }

  return 'Thanks for passing such a nice number.';
}
Editar via GitHub O link abre em uma nova janela ou aba

Aprenda Condicionais