Operators
// Arithmetic
let a = 10, b = 3;
a + b // 13
a - b // 7
a * b // 30
a / b // 3.33
a % b // 1 (remainder)
a ** b // 1000 (ES7)
a++ // 11
--a // 9
// Assignment
let x = 10;
x += 5; // x = 15
x *= 2; // x = 30
// Comparison
5 == "5" // true (loose — type convert করে)
5 === "5" // false (strict — type সহ তুলনা) ✅ সুপারিশকৃত
5 != "5" // false
5 !== "5" // true
5 > 3 // true
// Logical
true && false // false (AND)
true || false // true (OR)
!true // false (NOT)
// Nullish Coalescing (ES2020)
let name = null;
let display = name ?? "Guest"; // "Guest" (null/undefined হলে)
// Optional Chaining (ES2020)
let user = { };
console.log(user?.address?.city); // undefined (error নয়)
Conditional Statements
// if / else if / else
let age = 20;
if (age >= 18) {
console.log("প্রাপ্তবয়স্ক");
} else if (age >= 13) {
console.log("কিশোর");
} else {
console.log("শিশু");
}
// Ternary (এক লাইনে)
let status = age >= 18 ? "প্রাপ্তবয়স্ক" : "অপ্রাপ্তবয়স্ক";
// Switch
let day = 3;
switch (day) {
case 1: console.log("সোমবার"); break;
case 2: console.log("মঙ্গলবার"); break;
case 3: console.log("বুধবার"); break;
default: console.log("অন্যান্য");
}
Loops
// for
for (let i = 0; i < 5; i++) {
console.log(i); // 0, 1, 2, 3, 4
}
// while
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
// do-while (কমপক্ষে ১ বার চলবে)
do {
console.log(i);
i++;
} while (i < 5);
// for...of (array, string এর value)
let fruits = ["আম", "জাম", "লিচু"];
for (let fruit of fruits) {
console.log(fruit);
}
// for...in (object এর key)
let person = { name: "করিম", age: 25 };
for (let key in person) {
console.log(key, ":", person[key]);
}
// Loop Control
for (let i = 0; i < 10; i++) {
if (i === 5) break; // লুপ থামাও
if (i % 2 === 0) continue; // এই iteration skip
console.log(i);
}