if Keyword
The if
keyword performs conditional branching in Bnlang.
A block runs only when its condition evaluates to true.
Chain with else if
and else
to handle multiple paths.
Syntax
if (<condition>) {
// then-block
} else if (<another condition>) {
// else-if block
} else {
// else block
}
Examples
// গ্রেড চেকার
ধরি নম্বর = 85;
যদি (নম্বর >= 80) {
ছাপাও("গ্রেড: A+");
} নাহলে যদি (নম্বর >= 70) {
দেখাও("গ্রেড: A");
} নাহলে {
লিখো("গ্রেড: A-এর নিচে");
}
// স্ট্রিং মিলানো
ধ্রুবক ব্যবহারকারী = "admin";
যদি (ব্যবহারকারী === "admin") {
প্রিন্ট("স্বাগতম, অ্যাডমিন!");
} নাহলে {
কনসোল.ত্রুটি("প্রবেশাধিকার বাতিল");
}
// ফাংশনে গার্ড (আগে বেরিয়ে যাওয়া)
ফাংশন বিল_পরিশোধ(পরিমাণ) {
যদি (পরিমাণ <= 0) {
কনসোল.ত্রুটি("পরিমাণ অবশ্যই ধনাত্মক হতে হবে");
ফেরত;
}
কনসোল.লগ("পেমেন্ট প্রসেস হচ্ছে:", পরিমাণ);
}
Truthy & Falsy
Bnlang follows JavaScript-style truthiness. The following are falsy:
false
, 0
, -0
, 0n
, ""
(empty string), null
, undefined
, and NaN
.
Everything else is truthy.
Nested conditions
const ভূমিকা = "editor";
const সক্রিয় = true;
যদি (সক্রিয়) {
যদি (ভূমিকা === "admin") {
কনসোল.লগ("পূর্ণ অ্যাক্সেস");
} নাহলে যদি (ভূমিকা === "editor") {
কনসোল.লগ("এডিট করার অনুমতি");
} নাহলে {
কনসোল.লগ("শুধু পড়ার অনুমতি");
}
} নাহলে {
কনসোল.সতর্ক("অ্যাকাউন্ট নিষ্ক্রিয়");
}
Best practices
- Keep one language style (English/Bangla/Banglish) per file for readability.
- Prefer strict comparison
===
/!==
for predictable checks. - Extract complex conditions into named variables or functions.
- Use early returns inside functions to avoid deep nesting.