JavaScript এর হাতেখড়ি (পর্ব – ৫)

JavaScript Part 5

আগের পর্বে আমরা 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 লুপ কীভাবে ধাপে ধাপে চলে

উপরের উদাহরণটা ভেতরে ভেতরে এভাবে ঘটে:

  1. i = 1 সেট হয়
  2. চেক হয় i <= 5? হ্যাঁ (1 <= 5) → লুপের ভেতরের কোড চলে, console.log(1)
  3. i++ → i এখন 2
  4. আবার চেক হয় i <= 5? হ্যাঁ → console.log(2)
  5. ...এভাবে চলতে থাকে যতক্ষণ না i ৬ হয়ে যায়, তখন i <= 5 false হয়ে লুপ থেমে যায়

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:

  1. for লুপ দিয়ে ১ থেকে ১০ পর্যন্ত সব সংখ্যা প্রিন্ট করো
  2. while লুপ দিয়ে ১০ থেকে ১ পর্যন্ত উল্টো গুনে (কাউন্টডাউন) প্রিন্ট করো
  3. একটা লুপে % ব্যবহার করে ১ থেকে ৫০-এর মধ্যে সব বিজোড় সংখ্যা বের করো
  4. break ব্যবহার করে কোনো একটা নির্দিষ্ট সংখ্যা পেলেই লুপ থামিয়ে দাও

পরের পর্বে যা থাকছে

পর্ব ৬-এ আমরা শিখবো Function বেসিক — কোড পুনরায় ব্যবহারযোগ্য (reusable) করার সবচেয়ে গুরুত্বপূর্ণ টুল, উদাহরণসহ।

একটি মন্তব্য পোস্ট করুন

নবীনতর পূর্বতন

যোগাযোগ ফর্ম