Em JavaScript, números podem ser comparados usando os seguintes operadores relacionais e de igualdade.
| Comparação | Operador |
|---|---|
| Maior que | a > b |
| Maior ou igual a | a >= b |
| Menor que | a < b |
| Menor ou igual a | a <= b |
| Igual (estrito) | a === b |
| Diferente (estrito) | a !== b |
O resultado da comparação é sempre um valor Boolean: true ou false.
1 < 3;
// => true
2 !== 2;
// => false
1 === 1.0;
// => true
// All numbers are floating-points, so this is different syntax for
// the exact same value.
Em JavaScript, os operadores de comparação acima também podem ser usados para comparar strings. Nesse caso, aplica-se uma ordem de dicionário (lexicográfica). Você encontra uma lista com a ordem exata de todos os caracteres aqui.
'Apple' > 'Pear';
// => false
'a' < 'above';
// => true
'a' === 'A';
// => false
Uma forma comum de executar lógica condicionalmente em JavaScript é a condicional.
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 resultar em 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
}
Para aninhar outra condição na cláusula else, você pode usar else 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
}
Neste exercício, você vai escrever um pouco de código para ajudar a se preparar para comprar um veículo.
Você tem três tarefas: uma para determinar se vai precisar tirar uma carteira de motorista, uma para ajudar a escolher entre dois veículos e uma para estimar o preço aceitável de um veículo usado.
Alguns tipos de veículo exigem carteira de motorista para serem conduzidos.
Considere que apenas os tipos 'car' e 'truck' exigem carteira, todo o resto pode ser conduzido sem carteira.
Implemente a função needsLicense(kind), que recebe o tipo de veículo e retorna um Boolean indicando se você precisa de carteira de motorista para aquele tipo de veículo.
needsLicense('car');
// => true
needsLicense('bike');
// => false
Você avalia as opções de veículos disponíveis.
Você consegue reduzir a duas opções, mas precisa de ajuda para tomar a decisão final.
Para isso, implemente a função chooseVehicle(option1, option2), que recebe dois veículos como argumentos e retorna uma decisão que inclui a opção que vem primeiro na ordem alfabética.
chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// => 'Toyota Corolla is clearly the better choice.'
chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// => 'Volkswagen Beetle is clearly the better choice.'
Agora que você tomou sua decisão, quer garantir que vai pagar um preço justo na concessionária. Como você quer comprar um veículo usado, o preço depende da idade do veículo. Para uma estimativa aproximada, considere que, se o veículo tiver menos de 3 anos, ele custa 80% do preço original que tinha quando era novo. Se tiver mais de 10 anos, custa 50%. Se o veículo tiver pelo menos 3 anos, mas não mais de 10 anos, custa 70% do preço original.
Implemente a função calculateResellPrice(originalPrice, age), que aplica essa lógica usando if, else if e else (existem outras formas, caso você queira praticar).
Ela recebe o preço original e a idade do veículo como argumentos e retorna o preço estimado na concessionária.
calculateResellPrice(1000, 1);
// => 800
calculateResellPrice(1000, 5);
// => 700
calculateResellPrice(1000, 15);
// => 500
Crie sua conta no Exercism para aprender e dominar JavaScript com 37 conceitos159 exercícios e mentoria humana de verdade, tudo de graça.