في 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.'
الآن بعد أن اتخذت قرارك، تريد أن تتأكد من حصولك على سعر عادل لدى الوكالة. وبما أنك مهتم بشراء مركبة مستعملة، فإن السعر يعتمد على عمر المركبة. ولتقدير تقريبي، افترض أنه إذا كان عمر المركبة أقل من 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 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.