У JavaScript числа можна порівнювати за допомогою наведених нижче операторів відношення та рівності.
| Порівняння | Оператор |
|---|---|
| Більше ніж | a > b |
| Більше або дорівнює | a >= b |
| Менше ніж | a < b |
| Менше або дорівнює | a <= b |
| (Строга) рівність | a === b |
| Не (строга) рівність | a !== b |
Результат порівняння завжди є булевим значенням (англ. Boolean): true або 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.
У JavaScript наведені вище оператори порівняння можна також використовувати для порівняння рядків тексту (англ. string). У такому разі застосовується словниковий (лексикографічний) порядок. Список точного порядку всіх символів можна знайти тут.
'Apple' > 'Pear';
// => false
'a' < 'above';
// => true
'a' === 'A';
// => false
Щоб виконати код за певної умови, у JavaScript часто використовують умовну конструкцію if.
Вона складається з ключового слова if, умови в круглих дужках і блоку коду у фігурних дужках.
Блок коду виконається, лише якщо умова дорівнює true.
if (condition) {
// code that is executed if "condition" is true
}
Її можна використовувати окремо або разом із ключовим словом else.
if (condition) {
// code that is executed if "condition" is true
} else {
// code that is executed otherwise
}
Щоб додати ще одну умову до else, можна використати 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
}
У цій вправі ми напишемо трохи коду, який допоможе нам підготуватися до купівлі транспортного засобу.
На нас чекають три завдання: визначити, чи потрібне посвідчення водія, допомогти обрати між двома транспортними засобами та оцінити прийнятну ціну вживаного транспортного засобу.
Деякі види транспортних засобів вимагають посвідчення водія для керування ними.
Вважайте, що лише види 'car' і 'truck' потребують посвідчення, а все інше можна керувати без нього.
Реалізуйте функцію needsLicense(kind), яка приймає вид транспортного засобу та повертає булеве значення (англ. Boolean), що вказує, чи потрібне посвідчення для цього виду транспортного засобу.
needsLicense('car');
// => true
needsLicense('bike');
// => false
Ми оцінюємо доступні варіанти транспортних засобів.
Нам вдається звузити вибір до двох варіантів, але потрібна допомога, щоб ухвалити остаточне рішення.
Для цього реалізуйте функцію chooseVehicle(option1, option2), яка приймає два транспортні засоби як аргументи та повертає рішення, що містить варіант, який іде першим за словниковим порядком.
chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// => 'Toyota Corolla is clearly the better choice.'
chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// => 'Volkswagen Beetle is clearly the better choice.'
Тепер, коли рішення ухвалено, хочеться переконатися, що в автосалоні нам дадуть справедливу ціну. Оскільки нас цікавить купівля вживаного транспортного засобу, ціна залежить від його віку. Для приблизної оцінки припустімо, що транспортний засіб віком до 3 років коштує 80% початкової ціни, яку мав новим. Якщо йому понад 10 років, він коштує 50%. Якщо транспортному засобу щонайменше 3 роки, але не більше 10 років, він коштує 70% початкової ціни.
Реалізуйте функцію calculateResellPrice(originalPrice, age), яка застосовує цю логіку за допомогою if, else if та else (є й інші способи, якщо хочеться потренуватися).
Вона приймає початкову ціну та вік транспортного засобу як аргументи і повертає орієнтовну ціну в автосалоні.
calculateResellPrice(1000, 1);
// => 800
calculateResellPrice(1000, 5);
// => 700
calculateResellPrice(1000, 15);
// => 500
Зареєструйтеся на Exercism, щоб вивчати й опановувати JavaScript, а також 37 концепцій159 вправ та справжнє наставництво від людей, і все це безкоштовно.