← Back to JavaScript Course | Chapter 4: Modern JS, Async & DOM | Lesson 6 of 26

JS व्हाइल लूप

एक गिलास में पानी डालने के बारे में सोचें, जब तक जगह बची है आप डालते रहते हैं, हर बार डालने से पहले fill level फिर से जांचते हुए, और जैसे ही वह condition true नहीं रहती आप रुक जाते हैं। JavaScript में एक while loop भी बिल्कुल वैसे ही काम करता है, यह अपना code block तब तक चलाता रहता है जब तक कोई condition true रहती है, loop के हर pass से पहले उस condition को जांचते हुए। while loops खासतौर पर तब उपयोगी होते हैं जब आपको पहले से ठीक-ठीक पता न हो कि कुछ कितनी बार दोहराना होगा, जैसे cookiescursor.com पर scripts चलाते समय किसी खास response या condition का इंतज़ार करना।
Syntax
javascript
while (condition) {
  // loop body
}

do {
  // loop body
} while (condition);

while Loop

एक while loop अपना block चलाने से पहले condition जांचता है, और जब तक condition true रहती है तब तक उस block को दोहराता रहता है, और जैसे ही वह false होती है रुक जाता है।

Note: हमेशा सुनिश्चित करें कि loop body के अंदर कुछ न कुछ आखिरकार condition को बदले, वरना loop खुद कभी नहीं रुकेगा।
Warning: अगर किसी while loop की condition कभी false नहीं होती, तो browser tab infinite loop की वजह से freeze या crash हो सकता है।

उदाहरण: The while Loop

javascript
// Declare the variable `i`, set to `0`
// Declare the variable `i`, set to `0`
let i = 0;
// Keep looping while `i < 3` holds
// Keep looping while `i < 3` holds
while (i < 3) {
  // Print `i` to the console
  // Print `i` to the console
  console.log(i);
  i++;
}

do...while Loop

एक do...while loop पहले अपना code block चलाता है, condition जांचने से पहले, जिससे यह गारंटी मिलती है कि block कम से कम एक बार तो चलेगा ही, भले ही condition शुरू से ही false क्यों न हो।

Note: do...while खासतौर पर तब इस्तेमाल करें जब आपको guaranteed पहली execution चाहिए हो, जैसे यह जांचने से पहले कि दोहराना है या नहीं, कम से कम एक बार menu दिखाना।
Warning: do...while statement में closing while(condition) के बाद semicolon लगाना न भूलें, regular while loops की आदत से इसे छोड़ देना आसान है।

उदाहरण: The do...while Loop

javascript
let i = 5;
do {
  console.log(i);
  i++;
} while (i < 3); // runs once even though condition is false

while बनाम for

जब iterations की संख्या पहले से पता हो तो आमतौर पर for loops को prefer किया जाता है, जबकि while loops उन स्थितियों के लिए बेहतर हैं जहाँ stopping condition किसी ऐसी चीज़ पर निर्भर करती है जिसे सिर्फ loop के दौरान ही जांचा जा सकता है।

Note: अगर आप सिर्फ iterations गिनने के लिए किसी while loop से पहले let i = 0 लिख रहे हैं, तो शायद for loop ज़्यादा स्वाभाविक विकल्प है।
Warning: गलत loop type चुनने से errors नहीं आते, लेकिन इससे code कम readable हो सकता है और दूसरों के लिए उसका मकसद जल्दी समझना मुश्किल हो सकता है।

उदाहरण: while vs for

javascript
// for: iterations known ahead of time
for (let i = 0; i < 3; i++) console.log(i);
// while: stopping point depends on runtime state
let n = 10;
while (n > 1) n = n / 2;
console.log(n);

Infinite Loops से बचना

एक infinite loop तब होता है जब किसी loop की condition कभी false नहीं हो पाती, जिससे code हमेशा के लिए चलता रहता है और आमतौर पर browser tab freeze हो जाता है, loop की update logic को ध्यान से review करना ही सबसे अच्छा बचाव है।

Note: किसी नए while loop को चलाने से पहले, मन में कुछ iterations को trace करके देखें कि condition आखिरकार सच में false होती है या नहीं।
Warning: browser JavaScript में infinite loop पूरे page को freeze कर सकता है, जिसके लिए tab को जबरदस्ती बंद करना पड़ता है, हमेशा loop conditions को ध्यान से double check करें।

उदाहरण: Avoiding Infinite Loops

javascript
// Avoid this - infinite loop, condition never becomes false:
// let i = 0;
// while (i < 5) { console.log(i); }
let i = 0;
while (i < 5) {
  console.log(i);
  i++; // update makes condition eventually false
}

while कब इस्तेमाल करें

while loops उन स्थितियों में सबसे अच्छे साबित होते हैं जैसे processing के दौरान किसी condition के बदलने का इंतज़ार करना, बार-बार valid input मांगना, या किसी data structure में तब तक काम करना जब तक वह खाली न हो जाए, ऐसे मामले जहाँ stopping point सच में पहले से पता नहीं हो सकता।

Note: अगर आपका loop बार-बार यह जांचता है कि 'क्या यह खास चीज़ हो चुकी है', तो यह आमतौर पर एक मजबूत संकेत है कि while loop सही tool है।
Warning: ऐसे कामों के लिए while का ज़्यादा इस्तेमाल करना जिनकी iteration count असल में पहले से तय और मालूम है, एक साधारण for loop के मुकाबले अनावश्यक जटिलता जोड़ता है।

उदाहरण: When to Use while

javascript
// Declare the variable `queue`, set to `[1, 2, 3]`
// Declare the variable `queue`, set to `[1, 2, 3]`
let queue = [1, 2, 3];
// Keep looping while `queue.length > 0` holds
// Keep looping while `queue.length > 0` holds
while (queue.length > 0) {
  // Print `queue.shift()` to the console
  // Print `queue.shift()` to the console
  console.log(queue.shift());
}
Live Example
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. loop body के अंदर condition variable update करना भूल जाना, जो एक infinite loop बनाता है जो कभी नहीं रुकता।
  2. while और do...while को confuse करना, do...while हमेशा अपना block कम से कम एक बार चलाता है, भले ही condition शुरुआत में false हो।
  3. किसी while loop का इस्तेमाल करना जब एक for loop ज़्यादा साफ होता, for आमतौर पर बेहतर है जब आपको पहले से पता हो कि कितनी iterations चाहिए।
चैप्टर सारांश
  • एक while loop हर iteration से पहले अपनी condition check करता है और condition false होते ही रुक जाता है।
  • एक do...while loop पहले अपना block एक बार चलाता है, फिर condition check करता है, कम से कम एक execution guarantee करते हुए।
  • infinite loops से बचने के लिए careful design चाहिए, हमेशा सुनिश्चित करें कि loop की condition आखिरकार false हो सके।
ब्राउज़र सपोर्ट

while और do...while loops core JavaScript syntax हैं जो हर browser और JavaScript environment में समान रूप से supported हैं।

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.