1
resposta

[Projeto] Resolução usando "IF ternário"

const carrinhoVazio = false;

console.log(carrinhoVazio == true ? 'Compra finalizada com sucesso!' :
    'Não é possível finalizar a compra: carrinho vazio.');
1 resposta

Oii, José! Tudo bem?

Muito legal você ter optado por resolver usando o if ternário! É uma ótima prática pra deixar o código mais limpo e direto, principalmente quando temos apenas duas opções de resposta (sim ou não), como nesse caso.

Só queria chamar sua atenção para um detalhe importante na lógica do exercício, que simula uma situação real de loja:

No seu código, você escreveu:
carrinhoVazio == true ? 'Compra finalizada com sucesso!'

Se lermos isso como uma frase, seria: "Se o carrinho estiver vazio, finalize a compra com sucesso".
Percebeu que, na vida real, seria o contrário? Se o carrinho está vazio (true), nós não poderíamos finalizar a compra.

Para ajustar isso mantendo sua estrutura elegante com o ternário, temos duas opções principais:

  1. Inverter as mensagens: Colocar a mensagem de erro primeiro.
  2. Inverter a condição (Recomendado): Usar o operador de negação ! (que é o foco do exercício) ou comparar com false.

Ficaria assim, ajustando a lógica para só comprar se NÃO (!) estiver vazio:

const carrinhoVazio = false;

// Lê-se: Se NÃO estiver vazio, finaliza. Senão, dá erro.
console.log(!carrinhoVazio ? 'Compra finalizada com sucesso!' : 'Não é possível finalizar a compra: carrinho vazio.');

Parabéns pela iniciativa de testar outras formas de escrita além do if/else tradicional. Continue assim!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!