इस अध्याय में, आप जावा स्क्रिप्ट के विभिन्न डेटा प्रकारों और वेरिएबल्स के बारे में सीखेंगे। हम विभिन्न प्रकार के डेटा जैसे स्ट्रींग, नंबर, बूलियन, ऑब्जेक्ट्स, और एरेज़ की खोज करेंगे और समझेंगे कि वे कैसे कार्य करते हैं। इसके अलावा, आप जानेंगे कि वेरिएबल्स का उपयोग कैसे किया जाता है और वे जावा स्क्रिप्ट में डेटा को स्टोर और प्रबंधित करने में कैसे मदद करते हैं। इस अध्याय के अंत तक, आप वेरिएबल्स को डिक्लेयर करना, असाइन करना और विभिन्न डेटा प्रकारों के साथ काम करना सीख जाएंगे, जिससे आपके कोड की कार्यक्षमता और लचीलापन बढ़ जाएगा।
डेटा प्रकार (Data Types)
जावा स्क्रिप्ट में, डेटा प्रकार महत्वपूर्ण भूमिका निभाते हैं क्योंकि वे हमें यह समझने में मदद करते हैं कि विभिन्न प्रकार के डेटा को कैसे स्टोर और प्रबंधित किया जाए। जावा स्क्रिप्ट में निम्नलिखित मुख्य डेटा प्रकार होते हैं:
1. स्ट्रींग (String)
स्ट्रींग टेक्स्ट डेटा का प्रतिनिधित्व करता है। यह वर्णों का एक क्रम होता है और इसे डबल कोट्स (” “) या सिंगल कोट्स (‘ ‘) के अंदर लिखा जाता है।
उदाहरण:
let greeting = "नमस्ते दुनिया!"; let name = 'राज';
2. नंबर (Number)
नंबर डेटा प्रकार संख्यात्मक मानों का प्रतिनिधित्व करता है। इसमें दशमलव और पूर्णांक दोनों शामिल होते हैं।
उदाहरण:
let age = 25; let price = 99.99;
3. बूलियन (Boolean)
बूलियन डेटा प्रकार में केवल दो मान होते हैं: true
या false
। यह अक्सर कंडीशनल स्टेटमेंट्स और लॉजिकल ऑपरेशंस में उपयोग किया जाता है।
उदाहरण:
let isStudent = true; let hasGraduated = false;
4. ऑब्जेक्ट (Object)
ऑब्जेक्ट डेटा प्रकार एक कंप्लेक्स डेटा संरचना का प्रतिनिधित्व करता है, जिसमें की-वैल्यू पेयर्स होते हैं। ऑब्जेक्ट्स का उपयोग संबंधित डेटा को एक साथ स्टोर करने के लिए किया जाता है।
उदाहरण:
let person = { name: "राज", age: 25, isStudent: true };
5. एरे (Array)
एरे एक विशेष प्रकार का ऑब्जेक्ट होता है जो सूचीबद्ध डेटा को स्टोर करता है। यह एकल वेरिएबल में एक से अधिक मानों को स्टोर करने की अनुमति देता है।
उदाहरण:
let colors = ["लाल", "नीला", "हरा"]; let numbers = [1, 2, 3, 4, 5];
6. अनडिफाइंड (Undefined)
जब किसी वेरिएबल को डिक्लेयर किया जाता है लेकिन उसे कोई मान असाइन नहीं किया जाता, तो उसका मान undefined
होता है।
उदाहरण:
let myVar; console.log(myVar); // आउटपुट: undefined
7. नल (Null)
null
एक विशेष मान होता है जो इंगित करता है कि वेरिएबल का कोई मान नहीं है।
उदाहरण:
let emptyValue = null;
8. सिंबॉल (Symbol)
सिंबॉल एक अनोखा और अपरिवर्तनीय डेटा प्रकार है, जिसे ES6 (ECMAScript 2015) में पेश किया गया था। इसका उपयोग ऑब्जेक्ट प्रॉपर्टीज के लिए यूनिक आइडेंटिफायर के रूप में किया जाता है।
उदाहरण:
let symbol1 = Symbol('description'); let symbol2 = Symbol('description'); console.log(symbol1 === symbol2); // आउटपुट: false
इन सभी डेटा प्रकारों को समझकर, आप जावा स्क्रिप्ट में डेटा को सही ढंग से स्टोर और प्रबंधित कर सकते हैं। हर डेटा प्रकार का अपना महत्व और उपयोग होता है, और इन्हें प्रभावी ढंग से उपयोग करना जावा स्क्रिप्ट में कुशलता प्राप्त करने के लिए महत्वपूर्ण है।
वेरिएबल्स का परिचय (Introduction to Variables)
वेरिएबल्स प्रोग्रामिंग में एक महत्वपूर्ण भूमिका निभाते हैं। वे डेटा को स्टोर करने के लिए कंटेनर की तरह होते हैं, जिनका उपयोग बाद में कोड के अन्य हिस्सों में किया जा सकता है। जावा स्क्रिप्ट में, वेरिएबल्स को डिक्लेयर करने के लिए var
, let
, और const
कीवर्ड का उपयोग किया जाता है। इस सेक्शन में हम वेरिएबल्स का परिचय और उनके उपयोग को समझेंगे।
वेरिएबल्स का डिक्लेरेशन (Declaration of Variables)
जावा स्क्रिप्ट में, वेरिएबल्स को तीन मुख्य कीवर्ड्स का उपयोग करके डिक्लेयर किया जाता है: var
, let
, और const
।
var
: यह कीवर्ड ES5 और उससे पहले के संस्करणों में उपयोग किया जाता था।var
का उपयोग फंक्शन-स्कोप्ड वेरिएबल्स को डिक्लेयर करने के लिए किया जाता है।
var name = "अजय";
let
: यह कीवर्ड ES6 (ECMAScript 2015) में पेश किया गया था।let
का उपयोग ब्लॉक-स्कोप्ड वेरिएबल्स को डिक्लेयर करने के लिए किया जाता है।
let age = 30;
const
: यह कीवर्ड भी ES6 में पेश किया गया था।const
का उपयोग उन वेरिएबल्स को डिक्लेयर करने के लिए किया जाता है जिनका मान बाद में नहीं बदला जा सकता।
const pi = 3.14;
let
और var
में क्या अंतर है और कौन कब उपयोग करना चाहिए (Difference between let
and var
and when to use them)
जावा स्क्रिप्ट में वेरिएबल्स को डिक्लेयर करने के लिए var
, let
, और const
का उपयोग किया जाता है। यहां हम let
और var
के बीच मुख्य अंतर और उनका उपयोग कब करना चाहिए, इसके बारे में चर्चा करेंगे।
var
और let
का परिचय (Introduction to var
and let
)
var
: जावा स्क्रिप्ट में शुरूआत से हीvar
का उपयोग वेरिएबल्स को डिक्लेयर करने के लिए किया जाता रहा है। यह फंक्शन-स्कोप्ड (function-scoped) होता है, जिसका मतलब है कि यह केवल उस फंक्शन के अंदर उपलब्ध होता है जिसमें इसे डिक्लेयर किया गया है।let
: ES6 (ECMAScript 2015) में पेश किया गया,let
ब्लॉक-स्कोप्ड (block-scoped) होता है, जिसका मतलब है कि यह केवल उस ब्लॉक के अंदर उपलब्ध होता है जिसमें इसे डिक्लेयर किया गया है, जैसे कि{ }
।
मुख्य अंतर (Key Differences)
- स्कोप (Scope):
var
फंक्शन-स्कोप्ड होता है।let
ब्लॉक-स्कोप्ड होता है।
उदाहरण:
if (true) { var x = 10; let y = 20; } console.log(x); // आउटपुट: 10 console.log(y); // आउटपुट: Uncaught ReferenceError: y is not defined
- होइस्टिंग (Hoisting):
var
वेरिएबल्स होइस्ट होते हैं, जिसका मतलब है कि वे डिक्लेरेशन से पहले undefined के रूप में उपयोग किए जा सकते हैं।let
वेरिएबल्स भी होइस्ट होते हैं, लेकिन वे “Temporal Dead Zone” में रहते हैं जब तक कि उनका वास्तविक डिक्लेरेशन नहीं हो जाता।
उदाहरण:
console.log(a); // आउटपुट: undefined var a = 5; console.log(b); // आउटपुट: Uncaught ReferenceError: b is not defined let b = 10;
- री-डिक्लेरेशन (Re-declaration):
var
का पुनः डिक्लेरेशन संभव है और इससे कोई त्रुटि नहीं होती।let
का पुनः डिक्लेरेशन संभव नहीं है, और इससे त्रुटि होती है।
उदाहरण:
var a = 1; var a = 2; // कोई त्रुटि नहीं let b = 1; let b = 2; // Uncaught SyntaxError: Identifier 'b' has already been declared
कौन कब उपयोग करना चाहिए (When to use var
and let
)
var
का उपयोग (When to usevar
):- अगर कोड पुराने ब्राउज़रों के लिए लिखा जा रहा है जो ES6 को सपोर्ट नहीं करते, तो
var
का उपयोग किया जा सकता है। - छोटे स्कोप (जैसे फंक्शन के अंदर) के लिए
var
उपयुक्त हो सकता है।
- अगर कोड पुराने ब्राउज़रों के लिए लिखा जा रहा है जो ES6 को सपोर्ट नहीं करते, तो
let
का उपयोग (When to uselet
):- जब वेरिएबल को ब्लॉक-स्कोप में सीमित रखना हो, जैसे कि लूप्स या कंडीशनल स्टेटमेंट्स में।
- अधिक सुरक्षित और स्पष्ट कोड लिखने के लिए
let
का उपयोग करें, ताकि स्कोप से संबंधित त्रुटियों से बचा जा सके।
वेरिएबल्स का असाइनमेंट (Assignment of Variables)
वेरिएबल्स को डिक्लेयर करने के बाद उन्हें असाइन किया जा सकता है। वेरिएबल्स में डेटा या मान को स्टोर करने की प्रक्रिया को असाइनमेंट कहते हैं।
उदाहरण:
let city; // डिक्लेरेशन
city = "मुंबई"; // असाइनमेंट
const country = "भारत"; // डिक्लेरेशन और असाइनमेंट एक साथ
वेरिएबल्स का उपयोग (Using Variables)
वेरिएबल्स का उपयोग कोड में कई स्थानों पर किया जा सकता है। यह डेटा को स्टोर करने, गणनाएँ करने, और परिणाम प्रदर्शित करने के लिए उपयोगी होता है।
उदाहरण:
let firstName = "राहुल"; let lastName = "शर्मा"; let fullName = firstName + " " + lastName; // वेरिएबल्स का उपयोग console.log("पूरा नाम: " + fullName); // आउटपुट: पूरा नाम: राहुल शर्मा
वेरिएबल्स के नामकरण के नियम (Rules for Naming Variables)
वेरिएबल्स को नामकरण करते समय कुछ नियमों का पालन करना आवश्यक है:
- वेरिएबल का नाम किसी भी अक्षर (a-z, A-Z), अंक (0-9), अंडरस्कोर (_), और डॉलर चिन्ह ($) से शुरू हो सकता है, लेकिन यह किसी अंक से शुरू नहीं हो सकता।
- वेरिएबल के नाम में केवल अक्षर, अंक, अंडरस्कोर और डॉलर चिन्ह शामिल हो सकते हैं।
- जावा स्क्रिप्ट के रिज़र्व्ड कीवर्ड्स (जैसे
let
,const
,var
,if
,else
,function
आदि) को वेरिएबल के नाम के रूप में उपयोग नहीं किया जा सकता।
उदाहरण:
let _validName = "सही"; let $anotherValidName = "सही नाम"; let invalid-name = "गलत"; // हाइफ़न की वजह से त्रुटि होगी
कंस्टेंट्स (Constants)
कंस्टेंट्स जावा स्क्रिप्ट में उन वेरिएबल्स को संदर्भित करते हैं जिनके मान को डिक्लेयर करने के बाद बदलने की अनुमति नहीं होती। कंस्टेंट्स का उपयोग स्थिर मानों को स्टोर करने के लिए किया जाता है जिन्हें प्रोग्राम के दौरान बदला नहीं जा सकता। कंस्टेंट्स को const
कीवर्ड का उपयोग करके डिक्लेयर किया जाता है।
कंस्टेंट्स का परिचय (Introduction to Constants)
कंस्टेंट्स का उपयोग तब किया जाता है जब हमें यह सुनिश्चित करना होता है कि एक बार वेरिएबल को एक निश्चित मान असाइन कर दिया जाए, तो उसे बदला नहीं जा सके। यह प्रोग्राम को अधिक स्थिर और त्रुटिरहित बनाने में मदद करता है।
उदाहरण:
const PI = 3.14; const BIRTH_YEAR = 1990; console.log(PI); // आउटपुट: 3.14 console.log(BIRTH_YEAR); // आउटपुट: 1990
कंस्टेंट्स की विशेषताएँ (Features of Constants)
- स्थायी मान (Immutable Value):
- एक बार कंस्टेंट को असाइन करने के बाद, उसके मान को बदला नहीं जा सकता।
- उदाहरण:
const MY_CONSTANT = 10;
MY_CONSTANT = 20; // त्रुटि: असाइनमेंट टू कॉन्स्टेंट वेरिएबल
- स्कोप (Scope):
const
का स्कोपlet
की तरह ब्लॉक-स्कोप्ड होता है।- कंस्टेंट्स केवल उस ब्लॉक के अंदर उपलब्ध होते हैं जिसमें उन्हें डिक्लेयर किया गया है।
- उदाहरण:
{
const BLOCK_CONSTANT = "ब्लॉक के अंदर";
console.log(BLOCK_CONSTANT); // आउटपुट: ब्लॉक के अंदर
}
console.log(BLOCK_CONSTANT); // त्रुटि: BLOCK_CONSTANT इज नॉट डिफाइंड
- होइस्टिंग (Hoisting):
const
वेरिएबल्स भीlet
की तरह होइस्ट होते हैं, लेकिन वे “Temporal Dead Zone” में रहते हैं जब तक कि उनका वास्तविक डिक्लेरेशन नहीं हो जाता।- उदाहरण:
console.log(MY_CONST); // त्रुटि: Cannot access 'MY_CONST' before initialization
const MY_CONST = 5;
- डुप्लीकेट डिक्लेरेशन (Duplicate Declaration):
- एक ही स्कोप में किसी कंस्टेंट को दोबारा डिक्लेयर नहीं किया जा सकता।
- उदाहरण:
const VALUE = 100;
const VALUE = 200; // त्रुटि: डुप्लीकेट डिक्लेरेशन
कंस्टेंट्स का उपयोग (Using Constants)
कंस्टेंट्स का उपयोग स्थिर मानों को स्टोर करने के लिए किया जाता है जो प्रोग्राम के दौरान नहीं बदलते। जैसे कि गणना में उपयोग होने वाले स्थिरांक, कॉन्फ़िगरेशन मान, आदि।
उदाहरण:
const MAX_USERS = 100;
const API_URL = "https://api.example.com/data";
const COMPANY_NAME = "Tech Solutions Pvt Ltd";
console.log("Maximum Users Allowed: " + MAX_USERS);
console.log("API URL: " + API_URL);
console.log("Company Name: " + COMPANY_NAME);
- स्थायी मान (Immutable Value):