En JavaScript, los números se pueden comparar con los siguientes operadores relacionales y de igualdad.
| Comparación | Operador |
|---|---|
| Mayor que | a > b |
| Mayor o igual que | a >= b |
| Menor que | a < b |
| Menor o igual que | a <= b |
| Igualdad (estricta) | a === b |
| Desigualdad (estricta) | a !== b |
El resultado de una comparación siempre es un valor booleano: true o 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.
En JavaScript, los operadores de comparación anteriores también se pueden usar para comparar strings. En ese caso, se aplica un orden de diccionario (lexicográfico). Puedes encontrar una lista del orden exacto de todos los caracteres aquí.
'Apple' > 'Pear';
// => false
'a' < 'above';
// => true
'a' === 'A';
// => false
Una forma habitual de ejecutar lógica de forma condicional en JavaScript es el condicional if.
Consta de la palabra clave if, una condición entre paréntesis y un bloque de código entre llaves.
El bloque de código solo se ejecutará si la condición se evalúa como true.
if (condition) {
// code that is executed if "condition" is true
}
Se puede usar por sí solo o combinarse con la palabra clave else.
if (condition) {
// code that is executed if "condition" is true
} else {
// code that is executed otherwise
}
Para anidar otra condición dentro de la instrucción else, puedes 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
}
En este ejercicio, escribirás algo de código para ayudarte a prepararte para comprar un vehículo.
Tienes tres tareas: una para determinar si necesitarás un permiso de conducir, otra para ayudarte a elegir entre dos vehículos y otra para estimar el precio aceptable de un vehículo de segunda mano.
Algunos tipos de vehículos requieren un permiso de conducir para conducirlos.
Supón que solo los tipos 'car' y 'truck' requieren un permiso; todo lo demás se puede conducir sin permiso.
Implementa la función needsLicense(kind), que recibe el tipo de vehículo y devuelve un valor booleano que indica si necesitas un permiso para ese tipo de vehículo.
needsLicense('car');
// => true
needsLicense('bike');
// => false
Evalúas tus opciones entre los vehículos disponibles.
Consigues reducirlas a dos opciones, pero necesitas ayuda para tomar la decisión final.
Para ello, implementa la función chooseVehicle(option1, option2), que recibe dos vehículos como argumentos y devuelve una decisión que incluye la opción que aparece primero en orden alfabético.
chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// => 'Toyota Corolla is clearly the better choice.'
chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// => 'Volkswagen Beetle is clearly the better choice.'
Ahora que has tomado tu decisión, quieres asegurarte de que te dan un precio justo en el concesionario. Como te interesa comprar un vehículo de segunda mano, el precio depende de la antigüedad del vehículo. Para una estimación aproximada, supón que si el vehículo tiene menos de 3 años, cuesta el 80% del precio original que tenía cuando era nuevo. Si tiene más de 10 años, cuesta el 50%. Si el vehículo tiene al menos 3 años pero no más de 10, cuesta el 70% del precio original.
Implementa la función calculateResellPrice(originalPrice, age), que aplica esta lógica usando if, else if y else (hay otras formas si quieres practicar).
Recibe el precio original y la antigüedad del vehículo como argumentos y devuelve el precio estimado en el concesionario.
calculateResellPrice(1000, 1);
// => 800
calculateResellPrice(1000, 5);
// => 700
calculateResellPrice(1000, 15);
// => 500
Regístrate en Exercism para aprender y dominar JavaScript con 37 conceptos159 ejercicios y mentoría humana real, todo gratis.