در JavaScript میتوان اعداد را با عملگرهای رابطهای و برابری زیر مقایسه کرد.
| مقایسه | عملگر |
|---|---|
| بزرگتر از | a > b |
| بزرگتر یا مساوی | a >= b |
| کوچکتر از | a < b |
| کوچکتر یا مساوی | a <= b |
| برابری (دقیق) | a === b |
| نابرابری (دقیق) | a !== b |
نتیجهی مقایسه همیشه یک مقدار «منطقی» است: 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 میتوان از عملگرهای مقایسهی بالا برای مقایسهی رشتهها هم استفاده کرد. در این حالت، ترتیب واژهنامهای (فرهنگنامهای) اعمال میشود. فهرست ترتیب دقیق همهی نویسهها را میتوانید اینجا پیدا کنید.
'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) را پیادهسازی کنید که نوع وسیلهی نقلیه را میگیرد و یک مقدار «منطقی» برمیگرداند که نشان میدهد آیا برای آن نوع وسیله به گواهینامه نیاز دارید یا نه.
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.'
حالا که تصمیم خود را گرفتهاید، میخواهید مطمئن شوید که در نمایندگی قیمت منصفانهای میپردازید. چون قصد خرید یک وسیلهی نقلیهی دستدوم را دارید، قیمت به عمر آن بستگی دارد. برای یک تخمین تقریبی، فرض کنید اگر عمر وسیلهی نقلیه کمتر از ۳ سال باشد، قیمت آن ۸۰ درصد قیمت اصلیاش در زمانی است که کاملاً نو بود. اگر عمرش بیشتر از ۱۰ سال باشد، ۵۰ درصد. اگر عمر وسیلهی نقلیه حداقل ۳ سال باشد اما بیشتر از ۱۰ سال نباشد، ۷۰ درصد قیمت اصلی است.
تابع calculateResellPrice(originalPrice, age) را پیادهسازی کنید که این منطق را با if، else if و else اعمال میکند (اگر دوست دارید تمرین کنید، روشهای دیگری هم هست).
این تابع قیمت اصلی و عمر وسیلهی نقلیه را به عنوان آرگومان میگیرد و قیمت تخمینی را در نمایندگی برمیگرداند.
calculateResellPrice(1000, 1);
// => 800
calculateResellPrice(1000, 5);
// => 700
calculateResellPrice(1000, 15);
// => 500
در Exercism ثبتنام کنید تا JavaScript را همراه با 37 مفهوم159 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.