चर और डेटा प्रकार — JavaScript
यह क्या है और क्यों?
कल्पना करो कि तुम्हारा कंप्यूटर एक बहुत बड़ा लिखने का डेस्क है। उस पर पाठ्यपुस्तकें, कॉपियाँ, पेन और निश्चित रूप से तुम्हारा स्मार्टफोन रखा है। किसी चीज़ को जल्दी से ढूँढने के लिए, तुम हर चीज़ को उसकी जगह पर रखते हो। प्रोग्रामिंग में भी ऐसा ही है: जब प्रोग्राम चलता है, तो उसे संख्याओं, शब्दों और अन्य डेटा को कहीं स्टोर करने की आवश्यकता होती है। इसके लिए वेरिएबल होते हैं।
वेरिएबल एक लेबल वाले डिब्बे की तरह है। लेबल पर तुम नाम लिखते हो (उदाहरण के लिए, "मेरीउम्र"), और अंदर तुम मान रखते हो (उदाहरण के लिए, 12)। जब तुम्हें उस मान की आवश्यकता होगी, तो तुम बस कहोगे: "मुझे वह दे दो जो 'मेरीउम्र' नाम के डिब्बे में है"।
डेटा प्रकार एक नियम है कि डिब्बे में वास्तव में क्या रखा जा सकता है। एक डिब्बे में केवल संख्याएँ रखी जा सकती हैं, दूसरे में केवल टेक्स्ट, तीसरे में केवल सही या गलत कथन (हाँ/नहीं)। यदि तुम संख्याओं वाले डिब्बे में टेक्स्ट डालने की कोशिश करोगे, तो कंप्यूटर भ्रमित हो जाएगा। इसलिए यह जानना महत्वपूर्ण है कि कौन से प्रकार होते हैं और उनका सही उपयोग कैसे करें।
JavaScript (JS) में, डेटा प्रकार लगभग Python की तरह ही काम करते हैं, लेकिन महत्वपूर्ण अंतर हैं। उदाहरण के लिए, Python में तुम age = 12 लिखते हो, और Python खुद ही समझ जाता है कि 12 एक संख्या है। JavaScript में भी ऐसा ही है, लेकिन कुछ बारीकियाँ हैं: JS कभी-कभी बहुत अधिक "समझदार" होता है और वह कर सकता है जो तुम उम्मीद नहीं करते। इसलिए हम सीखेंगे कि स्पष्ट रूप से बताएँ कि हम क्या चाहते हैं।
यह क्यों आवश्यक है? कल्पना करो कि तुम एक कैलकुलेटर प्रोग्राम लिख रहे हो। यदि तुम प्रकारों को गड़बड़ कर दो और संख्या 5 को टेक्स्ट "5" के साथ जोड़ दो, तो तुम्हें 10 नहीं, बल्कि "55" (लगातार पाँच पाँच) मिलेगा। कंप्यूटर वैसे ही करेगा जैसे तुमने कहा, न कि वैसे जैसे तुमने सोचा। इसलिए डेटा प्रकारों का ज्ञान एक सुपरपावर है जो बेवकूफी भरी गलतियों से बचने में मदद करता है।
उदाहरण के साथ कोड की व्याख्या
चलिए सीधे अभ्यास पर आते हैं। कोई भी कोड एडिटर खोलो (उदाहरण के लिए, F12 दबाकर और Console टैब पर जाकर ब्राउज़र में बिल्ट-इन एडिटर, या CodePen या JSFiddle जैसे ऑनलाइन एडिटर का उपयोग करो)। कोड लिखो और देखो क्या होता है।
उदाहरण 1: संख्याओं के साथ वेरिएबल बनाना
// "myAge" नाम का वेरिएबल बनाएँ और उसमें संख्या 12 रखें
let myAge = 12;
// "pi" नाम का वेरिएबल बनाएँ और उसमें दशमलव संख्या 3.14 रखें
let pi = 3.14;
// "negativeNumber" नाम का वेरिएबल बनाएँ और उसमें ऋणात्मक संख्या -5 रखें
let negativeNumber = -5;
// मानों को स्क्रीन पर प्रदर्शित करें
console.log("मेरी उम्र:", myAge); // आउटपुट: मेरी उम्र: 12
console.log("पाई का मान:", pi); // आउटपुट: पाई का मान: 3.14
console.log("ऋणात्मक संख्या:", negativeNumber); // आउटपुट: ऋणात्मक संख्या: -5
// अब दो संख्याओं को जोड़ने का प्रयास करें
let sum = myAge + pi; // 12 + 3.14 = 15.14
console.log("उम्र और पाई का योग:", sum); // आउटपुट: उम्र और पाई का योग: 15.14
// ध्यान दें: JavaScript में दशमलव भाग को बिंदु से अलग किया जाता है, अल्पविराम से नहीं!
// यदि तुम 3,14 लिखोगे तो यह एक त्रुटि होगी, क्योंकि अल्पविराम का एक अलग अर्थ होता है।
व्याख्या: हमने let कीवर्ड का उपयोग किया। यह JavaScript को बताता है: "एक नया डिब्बा बनाओ"। उसके बाद हमने वेरिएबल का नाम (myAge), बराबर का चिह्न (=) और मान (12) लिखा। यहाँ बराबर का चिह्न का गणितीय अर्थ "बराबर" नहीं है। इसका अर्थ है "डिब्बे में रखो"। Python में तुम वही लिखोगे: my_age = 12। अंतर केवल इतना है कि JavaScript में camelCase (पहला शब्द छोटे अक्षर से, अगला शब्द बड़े अक्षर से) का उपयोग करने का रिवाज है, जबकि Python में snake_case (शब्दों के बीच अंडरस्कोर) का।
उदाहरण 2: टेक्स्ट स्ट्रिंग्स (String)
// स्ट्रिंग कोई भी टेक्स्ट है। इसे उद्धरण चिह्नों में रखना होता है।
let myName = "अन्ना"; // दोहरे उद्धरण चिह्न
let myCity = 'मॉस्को'; // एकल उद्धरण चिह्न — यह भी काम करता है!
let myHobby = `पेंटिंग`; // बैकटिक — आधुनिक तरीका
// स्ट्रिंग्स प्रदर्शित करें
console.log("मेरा नाम है:", myName); // आउटपुट: मेरा नाम है: अन्ना
console.log("मैं शहर में रहता हूँ:", myCity); // आउटपुट: मैं शहर में रहता हूँ: मॉस्को
console.log("मेरा शौक:", myHobby); // आउटपुट: मेरा शौक: पेंटिंग
// स्ट्रिंग्स को जोड़ा जा सकता है (कॉन्केटनेशन)
let greeting = "नमस्ते, " + myName + "! तुम " + myCity + " में रहते हो।";
console.log(greeting); // आउटपुट: नमस्ते, अन्ना! तुम मॉस्को में रहते हो।
// और बैकटिक का उपयोग करके सीधे स्ट्रिंग में वेरिएबल डाले जा सकते हैं
let greetingModern = `नमस्ते, ${myName}! तुम ${myCity} में रहते हो।`;
console.log(greetingModern); // वही आउटपुट: नमस्ते, अन्ना! तुम मॉस्को में रहते हो।
// ध्यान दें: ${...} एक विशेष सिंटैक्स है जो केवल बैकटिक में काम करता है।
// यह बहुत सुविधाजनक है, बार-बार प्लस चिह्न लगाने की आवश्यकता नहीं है!
व्याख्या: Python में भी स्ट्रिंग्स को एकल या दोहरे उद्धरण चिह्नों से बनाया जा सकता है। लेकिन JavaScript में एक अतिरिक्त प्रकार है — बैकटिक (`` ` ``)। वे ${} का उपयोग करके सीधे टेक्स्ट में वेरिएबल डालने की अनुमति देते हैं। इसे टेम्पलेट स्ट्रिंग्स (template strings) कहा जाता है। Python में इसके लिए f-स्ट्रिंग्स का उपयोग किया जाता है: f"नमस्ते, {my_name}!"। सिद्धांत एक ही है, बस सिंटैक्स अलग है।
उदाहरण 3: बूलियन प्रकार (Boolean) — सच या झूठ
// बूलियन प्रकार के केवल दो मान हो सकते हैं: true (सच) या false (झूठ)
let isStudent = true; // मैं छात्र हूँ — यह सच है
let hasPets = false; // मेरे पास पालतू जानवर नहीं हैं — यह झूठ है
console.log("क्या मैं छात्र हूँ?", isStudent); // आउटपुट: क्या मैं छात्र हूँ? true
console.log("क्या मेरे पास पालतू जानवर हैं?", hasPets); // आउटपुट: क्या मेरे पास पालतू जानवर हैं? false
// बूलियन मान अक्सर तुलनाओं के परिणामस्वरूप प्राप्त होते हैं
let myAge = 12;
let drivingAge = 18;
let canDrive = myAge >= drivingAge; // 12 >= 18? यह झूठ है!
console.log("क्या मैं गाड़ी चला सकता हूँ?", canDrive); // आउटपुट: क्या मैं गाड़ी चला सकता हूँ? false
// तुलनाओं के और उदाहरण:
let number1 = 10;
let number2 = 20;
console.log("क्या 10, 20 से बड़ा है?", number1 > num
```