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 ব্যবহার করতে পারেন। মনে রাখবেন, JavaScript-এ elseif নামে কোনো কিওয়ার্ড নেই। এর বদলে 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
}
তত্ত্বগতভাবে আপনি যত খুশি অতিরিক্ত শর্ত নেস্ট করতে পারেন। তবে বাস্তবে এমন ক্ষেত্রে এর বদলে একটি switch স্টেটমেন্ট ব্যবহার করবেন।
if (condition1) {
// ...
} else if (condition2) {
// ...
} else if (condition3) {
// ...
} else if (condition4) {
// ...
} else {
// ...
}
জটিল শর্ত তৈরি করার সময় অপ্রয়োজনীয় বন্ধনী এড়াতে অপারেটর প্রিসিডেন্স টেবিল দেখুন।
if (num >= 0 && num < 1) {
// ...
}
// The inner brackets are obsolete because relational operators
// have higher precedence than logical operators.
<!-- prettier-ignore-start -->
if ((num >= 0) && (num < 1)) {
// ...
}
<!-- prettier-ignore-end -->
এছাড়া কোড আরও পাঠযোগ্য করতে অতিরিক্ত ভ্যারিয়েবল ব্যবহার করার কথা ভাবতে পারেন।
const isPositive = num >= 0;
const isSmall = num < 1;
if (isPositive && isSmall) {
// ...
}
JavaScript-এ শর্তটি বুলিয়ান টাইপের হতে হবে না। if স্টেটমেন্টের মতো বুলিয়ান প্রসঙ্গে বুলিয়ান ছাড়া অন্য কোনো টাইপ দিলে JavaScript মানটিকে অন্তর্নিহিতভাবে বুলিয়ানে রূপান্তর করে। কোন মানগুলো ট্রুথি আর কোনগুলো ফলসি, তার বিস্তারিত জানতে টাইপ কনভার্সন ধারণা দেখুন।
const num = 4;
if (num) {
// this code block will be executed because 4 is truthy
}
if বা else-এর কোড ব্লকে যদি আপনি কেবল একটি স্টেটমেন্ট চালাতে চান, তবে JavaScript-এ দ্বিতীয় বন্ধনী বাদ দেওয়া সম্ভব।
if (condition) doSomething();
// or
if (condition)
doSomething();
যেমন কোনো এরর শর্ত পরীক্ষা করার সময় মাঝে মাঝে এটি ব্যবহার করা হয়। তবে সাধারণভাবে এটি সুপারিশ করা হয় না, কারণ একই শর্তের উপর নির্ভর করবে এমন দ্বিতীয় একটি স্টেটমেন্ট যোগ করার সময় বন্ধনী আবার বসাতে ভুলে যাওয়া সহজ।
ফাংশন লেখার সময় একটি কমন প্যাটার্ন হলো else ব্লক বাদ দিয়ে বদলে if ব্লকে আগেভাগে return ব্যবহার করা। অনেক ক্ষেত্রেই এটি নেস্টিং কমায় এবং কোডকে আরও পাঠযোগ্য ও বুঝতে সহজ করে তোলে।
function checkNumber(num) {
let message = '';
if (num === 0) {
message = 'You passed 0, please provide another number.';
} else {
message = 'Thanks for passing such a nice number.';
}
return message;
}
// Can also be written as ...
function checkNumber(num) {
if (num === 0) {
return 'You passed 0, please provide another number.';
}
return 'Thanks for passing such a nice number.';
}