In JavaScript, i numeri si possono confrontare con i seguenti operatori relazionali e di uguaglianza.
| Confronto | Operatore |
|---|---|
| Maggiore di | a > b |
| Maggiore o uguale a | a >= b |
| Minore di | a < b |
| Minore o uguale a | a <= b |
| (Strettamente) uguale a | a === b |
| Non (strettamente) uguale a | a !== b |
Il risultato del confronto è sempre un valore 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.
In JavaScript, gli operatori di confronto visti sopra si possono usare anche per confrontare le stringhe. In questo caso viene applicato un ordine alfabetico (lessicografico). Puoi trovare un elenco dell'ordine esatto di tutti i caratteri qui.
'Apple' > 'Pear';
// => false
'a' < 'above';
// => true
'a' === 'A';
// => false
Un modo comune per eseguire del codice in modo condizionale in JavaScript è l'istruzione if.
È composta dalla parola chiave if, da una condizione racchiusa tra parentesi tonde e da un blocco di codice racchiuso tra parentesi graffe.
Il blocco di codice viene eseguito solo se la condizione è vera (true).
if (condition) {
// code that is executed if "condition" is true
}
Si può usare da sola oppure insieme alla parola chiave else.
if (condition) {
// code that is executed if "condition" is true
} else {
// code that is executed otherwise
}
Per annidare un'altra condizione nell'istruzione else, puoi usare 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
}
In questo esercizio, scriverai del codice per aiutarti a prepararti all'acquisto di un veicolo.
Hai tre attività: una per determinare se ti servirà una patente, una per aiutarti a scegliere tra due veicoli e una per stimare il prezzo accettabile per un veicolo usato.
Alcuni tipi di veicoli richiedono la patente di guida per essere guidati.
Supponi che solo i tipi 'car' e 'truck' richiedano una patente, tutto il resto si può guidare senza patente.
Implementa la funzione needsLicense(kind) che prende il tipo di veicolo e restituisce un valore booleano che indica se ti serve una patente per quel tipo di veicolo.
needsLicense('car');
// => true
needsLicense('bike');
// => false
Valuti le tue opzioni tra i veicoli disponibili.
Riesci a restringerle a due opzioni, ma ti serve aiuto per prendere la decisione finale.
Per farlo, implementa la funzione chooseVehicle(option1, option2) che prende due veicoli come argomenti e restituisce una decisione che include l'opzione che viene prima in ordine alfabetico.
chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// => 'Toyota Corolla is clearly the better choice.'
chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// => 'Volkswagen Beetle is clearly the better choice.'
Ora che hai preso la decisione, vuoi assicurarti di ottenere un prezzo equo in concessionaria. Dato che sei interessato ad acquistare un veicolo usato, il prezzo dipende da quanti anni ha il veicolo. Per una stima approssimativa, supponi che se il veicolo ha meno di 3 anni, costi l'80% del prezzo originale che aveva quando era nuovo di zecca. Se ha più di 10 anni, costa il 50%. Se il veicolo ha almeno 3 anni ma non più di 10, costa il 70% del prezzo originale.
Implementa la funzione calculateResellPrice(originalPrice, age) che applica questa logica usando if, else if e else (ci sono altri modi se vuoi esercitarti).
Prende il prezzo originale e l'età del veicolo come argomenti e restituisce il prezzo stimato in concessionaria.
calculateResellPrice(1000, 1);
// => 800
calculateResellPrice(1000, 5);
// => 700
calculateResellPrice(1000, 15);
// => 500
Iscriviti a Exercism per imparare e padroneggiare JavaScript con 37 concetti159 esercizi e il mentoring di persone reali, tutto gratis.