JavaScript कंट्रोल फ्लो: if-else, switch और लूप्स की सम्पूर्ण गाइड हिंदी में

JavaScript कंट्रोल फ्लो: if-else, switch और लूप्स की सम्पूर्ण गाइड हिंदी में

JavaScript कंट्रोल फ्लो: ब्रांचिंग और लूपिंग

if-else, switch और लूप्स की सम्पूर्ण गाइड हिंदी में - 25+ प्रैक्टिकल उदाहरणों और प्रोजेक्ट्स के साथ

कंट्रोल फ्लो क्या है?

JavaScript में कंट्रोल फ्लो का मतलब है प्रोग्राम के एक्जिक्यूशन के फ्लो को कंट्रोल करना। यह हमें यह तय करने की क्षमता देता है कि:

  • कौन सा कोड ब्लॉक कब एक्जिक्यूट होगा (ब्रांचिंग)
  • कोड ब्लॉक को कितनी बार दोहराया जाएगा (लूपिंग)
कॉन्सेप्ट प्रकार उदाहरण उपयोग
ब्रांचिंग if-else, switch if(age >= 18) { ... } कंडीशनल डिसीजन लेने के लिए
लूपिंग for, while, do-while for(let i=0; i<5; i++) { ... } रिपीटेटिव टास्क्स के लिए
जावास्क्रिप्ट सीखें हिंदी में: कंट्रोल फ्लो प्रोग्रामिंग का मूलभूत कांसेप्ट है। यह आपको कॉम्प्लेक्स प्रोग्राम लिखने की क्षमता देता है।

कंट्रोल फ्लो क्यों जरूरी है?

वास्तविक दुनिया के प्रोग्राम्स में हमें अक्सर निर्णय लेने और एक ही काम को बार-बार करने की आवश्यकता होती है। उदाहरण के लिए:

  • यूजर की उम्र चेक करके कंटेंट दिखाना
  • शॉपिंग कार्ट के सभी आइटम्स का टोटल कैलकुलेट करना
  • फॉर्म वैलिडेशन करना

1. ब्रांचिंग स्टेटमेंट्स

ब्रांचिंग स्टेटमेंट्स प्रोग्राम को कंडीशन के आधार पर अलग-अलग कोड ब्लॉक्स एक्जिक्यूट करने की अनुमति देते हैं।

1.1 if स्टेटमेंट

javascript if else in hindi - सबसे बेसिक कंडीशनल स्टेटमेंट:

// सिंटैक्स
if (condition) {
// कोड जो तब एक्जिक्यूट होगा जब कंडीशन true हो
}

// उदाहरण
let temperature = 25;
if (temperature > 30) {
console.log("बहुत गर्मी है!");
}

1.2 if-else स्टेटमेंट

दो संभावित परिणामों के लिए:

// सिंटैक्स
if (condition) {
// true होने पर
} else {
// false होने पर
}

// प्रैक्टिकल उदाहरण
let age = 17;
if (age >= 18) {
console.log("आप वयस्क हैं");
} else {
console.log("आप नाबालिग हैं"); // यह प्रिंट होगा
}

1.3 else-if लैडर

मल्टीपल कंडीशन्स के लिए:

let marks = 82;
let grade;
if (marks >= 90) {
grade = "A+";
} else if (marks >= 80) {
grade = "A"; // यह एक्जिक्यूट होगा
} else if (marks >= 70) {
grade = "B";

} else if (marks >= 60) {
grade = "C";
} else {
grade = "F";
} console.log(`आपका ग्रेड है: ${grade}`); // "आपका ग्रेड है: A"
नोट: else-if स्टेटमेंट में कंडीशन्स को सही ऑर्डर में लिखें। पहली true कंडीशन मिलते ही बाकी कंडीशन्स चेक नहीं होंगी।

1.4 switch स्टेटमेंट

javascript switch case in hindi - जब एक ही वेरिएबल के मल्टीपल वैल्यूज चेक करनी हों:

// सिंटैक्स
switch(expression) {
case value1:
// कोड
break;
case value2:
// कोड
break;
default:
// डिफॉल्ट कोड
}

// प्रैक्टिकल उदाहरण
let day = 3;
let dayName;
switch(day) {
case 1:
dayName = "सोमवार";
break;
case 2:
dayName = "मंगलवार";
break;
case 3:
dayName = "बुधवार"; // यह एक्जिक्यूट होगा
break;
case 4:
dayName = "गुरुवार";
break;
case 5:
dayName = "शुक्रवार";
break;
case 6:
dayName = "शनिवार";
break;
case 7:
dayName = "रविवार";
break;
default:
dayName = "अमान्य दिन";
}
console.log(dayName); // "बुधवार"
महत्वपूर्ण: switch स्टेटमेंट में हर case के बाद break स्टेटमेंट जरूर डालें, नहीं तो सभी नीचे वाले cases भी एक्जिक्यूट हो जाएंगे (इसे "fall-through" कहते हैं)।

2. लूप्स (Loops)

javascript loops in hindi - कोड ब्लॉक्स को रिपीट करने के लिए उपयोग किए जाते हैं।

लूप प्रकार विवरण सिंटैक्स उपयोग
for loop निश्चित संख्या में इटरेशन्स for(init; condition; increment) { ... } जब इटरेशन्स की संख्या पता हो
while loop कंडीशन सही होने तक while(condition) { ... } जब इटरेशन्स अनिश्चित हों
do-while loop कम से कम एक बार एक्जिक्यूट होता है do { ... } while(condition); जब पहली बार कंडीशन चेक नहीं करनी हो

2.1 for loop

for loop in javascript hindi - सबसे कॉमन लूप:

// सिंटैक्स
for (initialization; condition; increment) {
// कोड ब्लॉक
}

// 1 से 5 तक नंबर्स प्रिंट करें
for (let i = 1; i <= 5; i++) {
console.log(i);
}
/* आउटपुट:
1
2
3
4
5
*/

// ऐरे के एलिमेंट्स एक्सेस करना
let fruits = ["सेब", "केला", "संतरा"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
/* आउटपुट:
सेब
केला
संतरा
*/

2.2 while loop

while loop in javascript hindi - जब तक कंडीशन true है:

// सिंटैक्स
while (condition) {
// कोड ब्लॉक
}

// उदाहरण: 1 से 5 तक नंबर्स प्रिंट करें
let count = 1;
while (count <= 5) {
console.log(count);
count++;
}

// पासवर्ड वैलिडेशन
let password;
while (password !== "secret123") {
password = prompt("पासवर्ड डालें:");
}
console.log("लॉगिन सफल!");
सावधानी: while लूप में हमेशा लूप वेरिएबल को अपडेट करें, नहीं तो लूप अनंत (infinite) हो सकता है जो ब्राउज़र हैंग कर सकता है।

2.3 do-while loop

कम से कम एक बार कोड एक्जिक्यूट करता है:

// सिंटैक्स
do {
// कोड ब्लॉक
} while (condition);

// उदाहरण: यूजर इनपुट वैलिडेशन
let userInput;
do {
userInput = prompt("1 से 10 के बीच नंबर डालें:");
} while (userInput < 1 || userInput > 10);
console.log("धन्यवाद! आपका नंबर:", userInput);

2.4 लूप कंट्रोल स्टेटमेंट्स

लूप्स के फ्लो को कंट्रोल करने के लिए:

// break - लूप से बाहर निकलने के लिए
for (let i = 1; i <= 10; i++) {
if (i === 5) {
break; // लूप तोड़ देगा जब i 5 होगा
}
console.log(i); // 1, 2, 3, 4
}

// continue - करंट इटरेशन स्किप करने के लिए
for (let i = 1; i <= 5; i++) {
if (i === 3) {
continue; // 3 को स्किप करेगा
}
console.log(i); // 1, 2, 4, 5
}

3. एडवांस्ड कॉन्सेप्ट्स

3.1 नेस्टेड लूप्स

लूप के अंदर लूप:

// पैटर्न प्रिंट करना
for (let i = 1; i <= 5; i++) {
let row = '';
for (let j = 1; j <= i; j++) {
row += '* ';
}
console.log(row);
}
/* आउटपुट:
*
* *
* * *
* * * *
* * * * *
*/

3.2 लेबल्ड लूप्स

मल्टीपल नेस्टेड लूप्स को कंट्रोल करने के लिए:

outerLoop:
for (let i = 0; i < 3; i++) {
innerLoop:
for (let j = 0; j < 3; j++) {
if (i === 1 && j === 1) {
break outerLoop; // बाहरी लूप से ब्रेक
}
console.log(`i=${i}, j=${j}`);
}
}

/* आउटपुट:
i=0, j=0
i=0, j=1
i=0, j=2
i=1, j=0
*/

3.3 for...of और for...in लूप्स

// for...of - ऐरे/स्ट्रिंग के एलिमेंट्स के लिए
let colors = ["लाल", "हरा", "नीला"];
for (let color of colors) {
console.log(color); // लाल, हरा, नीला
}

// for...in - ऑब्जेक्ट प्रॉपर्टीज के लिए
let person = {name: "राहुल", age: 25, city: "मुंबई"};
for (let key in person) {
console.log(`${key}: ${person[key]}`);
}

/* आउटपुट:
name: राहुल
age: 25
city: मुंबई
*/

4. प्रैक्टिकल प्रोजेक्ट्स

4.1 ग्रेड कैलकुलेटर

function calculateGrade(marks) { if (marks >= 90) return "A+"; else if (marks >= 80) return "A"; else if (marks >= 70) return "B"; else if (marks >= 60) return "C"; else if (marks >= 50) return "D"; else return "F"; } console.log(calculateGrade(85)); // "A" console.log(calculateGrade(45)); // "F"

4.2 प्राइम नंबर चेकर

function isPrime(num) {
if (num <= 1) return false;
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) return false;
}
return true;
}
console.log(isPrime(7)); // true
console.log(isPrime(10)); // false

4.3 गेसिंग गेम

let secretNumber = Math.floor(Math.random() * 10) + 1;
let guess;
let attempts = 0;
do {
guess = parseInt(prompt("1 से 10 के बीच नंबर गेस करें:"));
attempts++;
if (guess < secretNumber) {
alert("बहुत छोटा! फिर से कोशिश करें");
} else if (guess > secretNumber) {
alert("बहुत बड़ा! फिर से कोशिश करें");
}
} while (guess !== secretNumber);
alert(`बधाई हो! आपने ${attempts} प्रयासों में सही नंबर ${secretNumber} गेस किया।`);

5. प्रैक्टिस प्रश्न

5.1 बेसिक प्रश्न

  1. 1 से 100 तक की सभी सम संख्याएँ प्रिंट करने का प्रोग्राम लिखें

    for (let i = 1; i <= 100; i++) {
    if (i % 2 === 0)
    console.log(i);
    }
    }
  2. किसी संख्या का फैक्टोरियल कैलकुलेट करने का प्रोग्राम लिखें

    function factorial(n) { let result = 1;
    for (let i = 2; i <= n; i++) {
    result *= i;
    }
    return result;
    }
    console.log(factorial(5)); // 120

5.2 इंटरमीडिएट प्रश्न

  1. फिबोनैची सीरीज प्रिंट करने का प्रोग्राम लिखें (पहले 10 नंबर्स)

    let n1 = 0, n2 = 1, nextTerm;
    console.log('फिबोनैची सीरीज:');
    console.log(n1); // 0
    console.log(n2); // 1
    for (let i = 1; i <= 8; i++) {
    nextTerm = n1 + n2;
    console.log(nextTerm);
    n1 = n2;
    n2 = nextTerm;
    }
  2. टेबल ऑफ 5 प्रिंट करने का प्रोग्राम लिखें (1x5=5 से 10x5=50 तक)

    for (let i = 1; i <= 10; i++) {
    console.log(`5 x ${i} = ${5 * i}`);
    }

6. सामान्य प्रश्न (FAQs)

Q1: if-else और switch में क्या अंतर है?

if-else का उपयोग किसी भी प्रकार की कंडीशन चेक करने के लिए किया जा सकता है, जबकि switch केवल एक ही वेरिएबल के मल्टीपल वैल्यूज को चेक करने के लिए उपयोगी है। if-else ज्यादा फ्लेक्सिबल है लेकिन switch कोड को ज्यादा रीडेबल बना सकता है जब मल्टीपल कंडीशन्स हों।

Q2: for और while लूप में क्या अंतर है?

for लूप का उपयोग तब किया जाता है जब हमें पहले से पता हो कि लूप को कितनी बार रन करना है। while लूप का उपयोग तब किया जाता है जब हमें यह नहीं पता होता कि लूप को कितनी बार रन करना है, लेकिन हमें कंडीशन पता होती है जब तक लूप चलना चाहिए।

Q3: break और continue में क्या अंतर है?

break स्टेटमेंट पूरे लूप को तोड़ देता है और लूप से बाहर निकल जाता है। continue स्टेटमेंट सिर्फ करंट इटरेशन को स्किप करता है और लूप अगले इटरेशन के साथ जारी रहता है।

7. निष्कर्ष

इस विस्तृत गाइड में हमने JavaScript कंट्रोल फ्लो के सभी महत्वपूर्ण पहलुओं को कवर किया है:

  • ब्रांचिंग स्टेटमेंट्स: if-else, switch, टर्नरी ऑपरेटर
  • लूप्स: for, while, do-while और लूप कंट्रोल स्टेटमेंट्स
  • एडवांस्ड कॉन्सेप्ट्स: नेस्टेड लूप्स, लेबल्ड लूप्स, for...of/in
  • प्रैक्टिकल प्रोजेक्ट्स: ग्रेड कैलकुलेटर, प्राइम नंबर चेकर, गेसिंग गेम
  • 20+ प्रैक्टिकल उदाहरण और कोड स्निपेट्स
अगला कदम: अब जब आप कंट्रोल फ्लो के बेसिक्स समझ गए हैं, तो JavaScript फंक्शन्स और एरो फंक्शन्स सीखकर अपनी प्रोग्रामिंग स्किल्स को और मजबूत बनाएं।

इस गाइड को अपने दोस्तों के साथ शेयर करें और नीचे कमेंट में बताएं कि आपको यह कैसी लगी!

और नया पुराने