JavaScriptCondicionaisintermediario

Calculadora de frete

No mundo real do e-commerce, calcular frete por estado e peso é algo que aparece em todo checkout. Você precisa aplicar taxas diferentes para cada região e ainda considerar frete grátis acima de um valor. Saber combinar condicionais com comparações estritas evita bugs que poderiam cobrar o valor errado do cliente. Isso é essencial para sistemas de venda online.

O PROBLEMA

Declare peso e estado (SP/RJ/outros). SP: R$5/kg, RJ: R$8/kg, outros: R$12/kg. Frete grátis acima de R$100.

EXEMPLO

peso=5, estado="SP" → R$25.00
peso=15, estado="RJ" → Frete grátis!

SOBRE O CONCEITO

O exercício pede para usar if/else if com === para verificar o estado. Usar == é um erro comum porque ele faz coerção de tipo — por exemplo, "SP" == 0 retorna false mas "SP" == true também retorna false, já "SP" == "SP" retorna true, mas a confusão surge se você comparar com números. Com ===, a comparação é exata e evita surpresas. Outro erro frequente é não implementar a regra de frete grátis: depois de calcular o valor total (peso * taxa), você deve verificar se ele é >= 100 e, se for, substituir por 0 (ou exibir "Frete grátis!"). Lembre-se de usar toUpperCase() para padronizar a entrada do estado e toFixed(2) para formatar o valor com duas casas decimais.

RESOLUÇÃO

Mais exercícios de Condicionais

JSC020 · IntermediárioOperador ternárioJSC005 · BásicoMaior entre doisJSC006 · BásicoDesconto simplesJSC012 · IntermediárioClassificação do IMC
Ver todos os exercícios de JavaScript