আগের পর্বে আমরা Condition শিখেছি — শর্ত অনুযায়ী সিদ্ধান্ত নেওয়া। আজকে শিখবো Loop — একই কাজ বারবার করার কৌশল। ধরো ১ থেকে ১০০ পর্যন্ত প্রতিটা সংখ্যা প্রিন্ট করতে হবে — ১০০ বার console.log লেখার বদলে loop দিয়ে এটা মাত্র কয়েক লাইনে করা যায়।
for Loop — সবচেয়ে বেশি ব্যবহৃত
for (let i = 1; i <= 5; i++) {
console.log(i);
}
// আউটপুট: 1 2 3 4 5
for লুপের তিনটা অংশ সেমিকোলন দিয়ে আলাদা:
| অংশ | কাজ |
|---|---|
let i = 1 |
শুরুর মান — একবারই চলে |
i <= 5 |
শর্ত — এটা true থাকা পর্যন্ত লুপ চলবে |
i++ |
প্রতিবার লুপ শেষে এটা চলে (এখানে i বাড়ে) |
i variable-টা এখানে "counter" — এটা লুপ কতবার চলেছে তার হিসাব রাখে। i নামটা কনভেনশন (index-এর সংক্ষিপ্ত রূপ), তবে যেকোনো নাম ব্যবহার করা যায়।
for লুপ কীভাবে ধাপে ধাপে চলে
উপরের উদাহরণটা ভেতরে ভেতরে এভাবে ঘটে:
i = 1সেট হয়- চেক হয়
i <= 5? হ্যাঁ (1 <= 5) → লুপের ভেতরের কোড চলে,console.log(1) i++→ i এখন 2- আবার চেক হয়
i <= 5? হ্যাঁ →console.log(2) - ...এভাবে চলতে থাকে যতক্ষণ না
i৬ হয়ে যায়, তখনi <= 5false হয়ে লুপ থেমে যায়
while Loop
যখন লুপ ঠিক কতবার চলবে তা আগে থেকে জানা থাকে না, বরং একটা শর্তের উপর নির্ভর করে, তখন while বেশি উপযোগী:
let count = 1;
while (count <= 5) {
console.log(count);
count++;
}
while শুধু একটা শর্ত নেয় — যতক্ষণ শর্তটা true, ততক্ষণ লুপ চলতেই থাকবে। count++ নিজে করতে হয়, for-এর মতো এটা automatic না।
মনে রাখবে: count++ লিখতে ভুলে গেলে শর্ত কখনোই false হবে না, আর লুপ চিরকাল চলতে থাকবে — একে বলে infinite loop। এটা ব্রাউজার হ্যাং করে দিতে পারে। তাই while লুপ লেখার সময় সবসময় নিশ্চিত করো যে counter-টা কোথাও না কোথাও বাড়ছে/কমছে।
for vs while — কোনটা কখন
| Loop | কখন ব্যবহার হবে |
|---|---|
for |
যখন কতবার চলবে সেটা আগে থেকে জানা যায় (যেমন array-এর প্রতিটা আইটেম) |
while |
যখন কোনো শর্ত পূরণ না হওয়া পর্যন্ত চলতে হবে, সংখ্যা অজানা |
break — লুপ থামিয়ে দেওয়া
নির্দিষ্ট কোনো শর্তে লুপ পুরোপুরি থামিয়ে দিতে break ব্যবহার হয়:
for (let i = 1; i <= 10; i++) {
if (i === 5) {
break; // ৫ পেলেই লুপ থেমে যাবে
}
console.log(i);
}
// আউটপুট: 1 2 3 4
continue — শুধু এই ধাপ স্কিপ করা
break পুরো লুপ থামায়, কিন্তু continue শুধু বর্তমান ধাপ স্কিপ করে পরের ধাপে চলে যায়:
for (let i = 1; i <= 5; i++) {
if (i === 3) {
continue; // ৩ স্কিপ হয়ে যাবে, কিন্তু লুপ চলতে থাকবে
}
console.log(i);
}
// আউটপুট: 1 2 4 5
| Keyword | কাজ |
|---|---|
break |
পুরো লুপ বন্ধ করে বেরিয়ে যায় |
continue |
শুধু এই ধাপ স্কিপ করে পরের ধাপে চলে যায় |
একটা বাস্তব উদাহরণ — জোড় সংখ্যা বের করা
Loop, Condition, ও Operator একসাথে ব্যবহার করে ১ থেকে ২০ এর মধ্যে সব জোড় সংখ্যা বের করা যাক:
for (let i = 1; i <= 20; i++) {
if (i % 2 === 0) {
console.log(i);
}
}
// আউটপুট: 2 4 6 8 10 12 14 16 18 20
একটা সম্পূর্ণ উদাহরণ
<!DOCTYPE html>
<html lang="bn">
<head>
<meta charset="UTF-8">
<title>Loop উদাহরণ</title>
</head>
<body>
<script>
// ১ থেকে ৫ পর্যন্ত গুণন সারণী
let number = 5;
for (let i = 1; i <= 10; i++) {
console.log(`${number} x ${i} = ${number * i}`);
}
// কাউন্টডাউন
let count = 5;
while (count > 0) {
console.log(count);
count--;
}
console.log("শুরু হয়ে গেছে!");
</script>
</body>
</html>
নিজে চেষ্টা করো
Exercise:
forলুপ দিয়ে ১ থেকে ১০ পর্যন্ত সব সংখ্যা প্রিন্ট করোwhileলুপ দিয়ে ১০ থেকে ১ পর্যন্ত উল্টো গুনে (কাউন্টডাউন) প্রিন্ট করো- একটা লুপে
%ব্যবহার করে ১ থেকে ৫০-এর মধ্যে সব বিজোড় সংখ্যা বের করো breakব্যবহার করে কোনো একটা নির্দিষ্ট সংখ্যা পেলেই লুপ থামিয়ে দাও
পরের পর্বে যা থাকছে
পর্ব ৬-এ আমরা শিখবো Function বেসিক — কোড পুনরায় ব্যবহারযোগ্য (reusable) করার সবচেয়ে গুরুত্বপূর্ণ টুল, উদাহরণসহ।