জাভাস্ক্রিপ্টে সংখ্যাগুলোকে নিচের সম্পর্কমূলক ও সমতামূলক অপারেটর দিয়ে তুলনা করা যায়।
| তুলনা | অপারেটর |
|---|---|
| বড় | 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.
জাভাস্ক্রিপ্টে উপরের তুলনা অপারেটরগুলো দিয়ে স্ট্রিংও তুলনা করা যায়। সেক্ষেত্রে অভিধানের ক্রম (লেক্সিকোগ্রাফিক্যাল ক্রম) প্রয়োগ করা হয়। সব ক্যারেক্টারের সঠিক ক্রমের একটি তালিকা এখানে পাবেন।
'Apple' > 'Pear';
// => false
'a' < 'above';
// => true
'a' === 'A';
// => false
জাভাস্ক্রিপ্টে শর্তসাপেক্ষে লজিক রান করার একটি কমন উপায় হলো 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টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।