#007 - Basicão do JS: Operadores condicionais

February 03, 2023 • ☕️ 3 min de leitura

Bem-vindo ao primeiro post técnico de 2023, espero que curta a viagem e esteja aprendendo bastante com os posts por aqui. Javascript é uma linguagem fascinante e cheia de nuances e o basicão, você vê por aqui.

Coloca esse álbum do Saxon e manda ver que hoje é curtinho:

Condicionador

As vezes, quando estamos programando, os dados precisam ser checados, manipulados ou então alguma condição precisa ser checada se é verdadeira ou não para que algo então assim, seja executado. Existem estruturas de decisão que nos ajudam a fazer isso.

if e else

As estruturas de if e else consistem em pelo menos duas partes: a primeira é a condição, que se for verdadeira executará uma dentre as saídas de condição, que é a segunda parte, como no exêmplo abaixo:

const anos = 18

if (anos === 18) {
  return 'Nossa, você tem 18 anos!'
} else {
  return 'Você não tem 18 anos!'
}

Parece simples, mas da pra gente melhorar este código e colocar mais condições

const anos = 18

if (anos < 18) {
  return 'Nossa, você é menor de idade!'
} else if (anos >= 18 && < 25){
  return 'Você é um jovem'
}else if(anos >= 25 && anos < 35){
  return 'Você é um adulto'
} else {
  return 'BOOMER!'
}

Neste caso, estamos checando a idade utilizando os operadores lógicos que aprendemos anteriormente e no último pedaço de código como já se esgotaram as possibilidades, nós apenas retornamos a mensagem final.

if`s ternários

Condicionador

Existem maneiras mais simples de escrever um if/else sem ter que escrever toda a estrutura, é o caso do if TERNEIRO… digo… ternário.

const anos = 29
const maioridade = anos < 18 ? 'menor' : 'maior'

Nesse caso, verificamos que se a condição é verdadeira ou falsa e em apenas uma linha já colocamos o return dentro de uma variável, eu particularmente gosto de ler esse código desta maneira:

const  constante = (minha condição) ? 'verdadeira':'falsa'

Switch

As vezes você pode ter muitas condições em um a estrutura e encher de if/elsenão é a maneira mais inteligente de manter o seu código, switches em alguns casos são mais rápidos de executar e mais fáceis de ler que if/else. Abaixo, um exemplo de switch:

const ano = 2002

switch (anos) {
  case 1958:
    return 'Mundial!'
    break
  case 1962:
    return 'Bi-Campeonato!'
    break
  case 1970:
    return 'Tri!'
    break
  case 1994:
    return 'TEEEEETRA!'
    break
  case 2002:
    return 'Penta!'
    break
  case 2014:
    return '7x1!'
    break
  default:
    return 'Não foi uma copa marcante ou não foi copa'
}

Nesse caso, se a variável é igual a 2002, a mensagem Penta! é retornada, caso qualquer outro número seja informado e não esteja entre os case, uma mensagem padrão é retornada pois o default, o padrão para retornar caso não haja condições é Não foi uma copa marcante.

Algumas coisas devem ser levadas em consideração como:

  • O comando break para parar o código é implícito no return default;
  • Não se deve usar switch caso seja feita uma comparação antes;

Switch como Object Literal

Ainda existe mais uma maneira de escrever um switch de maneira performática e sem ter que fazer toda a estrutura, dessa forma não precisamos de break ou case, criamos um objeto com as propriedades e depois passamos a função. Pegamos por exêmplo:

const getCopa = ano => {
  let copa = {
    1958: 'Mundial!',
    1962: 'Bi-Campeonato',
    1970: 'Tri!',
    1994: 'TEEEEETRA!',
    2002: 'Penta!',
    2014: '7x1!',
  }[ano]

  return copa || 'Não foi uma copa marcante ou não foi copa'
}

console.log(getCopa(2002))
// Penta!

console.log(getCopa(2014))
// 7x1!

console.log(getCopa(2012))
//Não foi uma copa marcante ou não foi copa

Nosso próximo assunto vai ser um pouco mais complexo e talvez eu divida em mais posts, eu estou falando de uma das estruturas mais importantes de Javascript, os Arrays.


Compartilhe este post:


Blog escrito por Wellington Mitrut, Antes de tudo eu faço arte: código, música, fotografia, desenho e etc. Amo criar coisas e compartilhar com o mundo

Mastodon