while লুপ দিয়ে আপনি নির্দিষ্ট কোনো শর্ত পূরণ হওয়া পর্যন্ত কোড বারবার চালাতে পারেন।
এটি লেখা হয় while কিওয়ার্ড দিয়ে, যার পরে প্রথম বন্ধনীতে বন্ধ একটি শর্ত এবং দ্বিতীয় বন্ধনীতে বন্ধ লুপের বডি ধারণ করা একটি কোড ব্লক থাকে।
while (condition) {
// code that is executed repeatedly as long as the condition is
// true
}
JavaScript-এ do-while লুপও আছে। এখানে লুপ বডি চালানোর পরে শর্তটি যাচাই করা হয়। শর্তটি যখন বডিতে করা হিসাবের ওপর নির্ভর করে, তখন এটি কাজে লাগে।
do {
// The code here will always be executed once and then
// repeatedly while the condition is true.
} while (condition);
লুপ বডির ভেতরে আপনি break কিওয়ার্ড ব্যবহার করে লুপের কার্যক্রম সম্পূর্ণভাবে থামাতে পারেন।
এটি প্রায়ই শর্ত হিসেবে true-এর সাথে একসাথে ব্যবহার করা হয়।
এভাবে আপনি লুপ বডির যেকোনো জায়গা থেকে নিয়ন্ত্রণ করতে পারেন লুপটি কখন থামবে।
const winningNumber = 7;
while (true) {
const num = readUserGuess();
if (num === winningNumber) {
break;
}
}
লুপের ভেতরে নেস্টেড থাকা কোনো ফাংশনের ভেতরে break কিওয়ার্ড ব্যবহার করা যায় না। উদাহরণের জন্য MDN ডকুমেন্টেশন দেখুন।
break-এর বিপরীতে continue কিওয়ার্ড কেবল বর্তমান ইটারেশনের কার্যক্রম থামায় এবং পরের ইটারেশন দিয়ে চালিয়ে যায়।
continue ব্যবহার করে আপনি প্রায়ই লুপ বডির বড় অংশকে একটি if স্টেটমেন্টের ভেতরে মুড়ে ফেলা এড়াতে পারেন।
let i = 0;
while (i < 100) {
i = i + 2;
if (i % 3 === 0) {
continue;
}
// The code here will only be executed when i was not divisible
// by 3 in the check above.
}
লুপের শর্ত যখন সর্বদা পূরণ হয় এবং লুপ বডিতে কোনো break বা return স্টেটমেন্টে পৌঁছানো না যায়, তখন (তাত্ত্বিকভাবে) চিরকাল চলতে থাকা একটি লুপ তৈরি হয়। কার্যক্রমটি বাইরে থেকে বন্ধ করতে হয়। এ ধরনের কোড যে পরিবেশে চলে, তার ওপর নির্ভর করে এটি স্বয়ংক্রিয়ভাবে করা হয়, নয়তো হাতে হস্তক্ষেপের প্রয়োজন হয়।
let i = 0;
while (i < 100) {
if (i % 3 === 0) {
continue;
}
i = i + 2;
}
// This loop runs forever since the variable i does not change
// anymore after it is divisible by 3 the first time.
এই ছোট উদাহরণে অসীম লুপ চিনতে ধরাটা সহজ মনে হতে পারে, কিন্তু আরও জটিল কোডে বিষয়টি সবসময় তত সহজ নয়। আপনার শর্তটি শেষ পর্যন্ত false হয়ে যায় কি না, কিংবা আপনার break বা return স্টেটমেন্টে পৌঁছানো যায় কি না, তা ভালোভাবে ভেবে দেখা একটি ভালো অভ্যাস।