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 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"
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); // "बुधवार"
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("लॉगिन सफल!");
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 लूप कंट्रोल स्टेटमेंट्स
लूप्स के फ्लो को कंट्रोल करने के लिए:
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 लेबल्ड लूप्स
मल्टीपल नेस्टेड लूप्स को कंट्रोल करने के लिए:
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 लूप्स
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 ग्रेड कैलकुलेटर
4.2 प्राइम नंबर चेकर
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 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 से 100 तक की सभी सम संख्याएँ प्रिंट करने का प्रोग्राम लिखें
for (let i = 1; i <= 100; i++) {
if (i % 2 === 0)
console.log(i);
}
} -
किसी संख्या का फैक्टोरियल कैलकुलेट करने का प्रोग्राम लिखें
function factorial(n) {
let result = 1;
for (let i = 2; i <= n; i++) {
result *= i;
}
return result;
}
console.log(factorial(5)); // 120
5.2 इंटरमीडिएट प्रश्न
-
फिबोनैची सीरीज प्रिंट करने का प्रोग्राम लिखें (पहले 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;
} -
टेबल ऑफ 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+ प्रैक्टिकल उदाहरण और कोड स्निपेट्स
इस गाइड को अपने दोस्तों के साथ शेयर करें और नीचे कमेंट में बताएं कि आपको यह कैसी लगी!