Data types in JavaScript

From binaryoption
Jump to navigation Jump to search
Баннер1
    1. जावास्क्रिप्ट में डेटा प्रकार

जावास्क्रिप्ट एक शक्तिशाली और बहुमुखी प्रोग्रामिंग भाषा है जिसका उपयोग वेब डेवलपमेंट में व्यापक रूप से किया जाता है। इसकी लोकप्रियता का एक मुख्य कारण इसकी गतिशील टाइपिंग (dynamic typing) प्रणाली है। इसका मतलब है कि आपको किसी चर (variable) को घोषित करते समय उसका डेटा प्रकार निर्दिष्ट करने की आवश्यकता नहीं है। जावास्क्रिप्ट स्वचालित रूप से चर में संग्रहीत मान के आधार पर डेटा प्रकार निर्धारित करता है। हालाँकि, यह समझना महत्वपूर्ण है कि जावास्क्रिप्ट में विभिन्न प्रकार के डेटा प्रकार उपलब्ध हैं और वे कैसे काम करते हैं। यह लेख शुरुआती लोगों के लिए जावास्क्रिप्ट में डेटा प्रकारों का विस्तृत विवरण प्रदान करेगा। हम प्रत्येक डेटा प्रकार को उदाहरणों के साथ समझेंगे और यह भी देखेंगे कि वे ऑपरेटर के साथ कैसे इंटरैक्ट करते हैं।

जावास्क्रिप्ट में डेटा प्रकारों की श्रेणियाँ

जावास्क्रिप्ट में डेटा प्रकारों को मुख्य रूप से दो श्रेणियों में विभाजित किया जा सकता है:

  • **प्रिमिटिव डेटा प्रकार (Primitive Data Types):** ये डेटा प्रकार अपरिवर्तनीय (immutable) होते हैं, जिसका अर्थ है कि एक बार बनाए जाने के बाद उनके मान को बदला नहीं जा सकता। प्रिमिटिव डेटा प्रकार मानों को सीधे तौर पर संग्रहीत करते हैं।
  • **ऑब्जेक्ट डेटा प्रकार (Object Data Types):** ये डेटा प्रकार परिवर्तनीय (mutable) होते हैं, जिसका अर्थ है कि उनके मान को बदला जा सकता है। ऑब्जेक्ट डेटा प्रकार मेमोरी में स्थान का संदर्भ संग्रहीत करते हैं।

प्रिमिटिव डेटा प्रकार

जावास्क्रिप्ट में सात प्रिमिटिव डेटा प्रकार हैं:

1. **Number:** यह संख्यात्मक मानों को दर्शाने के लिए उपयोग किया जाता है। इसमें पूर्णांक (integers) और दशमलव संख्याएँ (floating-point numbers) दोनों शामिल हैं। उदाहरण के लिए: `10`, `3.14`, `-5`।

   *   संख्यात्मक ऑपरेटर जैसे जोड़ (+), घटाव (-), गुणा (*), भाग (/) और मॉड्यूलो (%) का उपयोग संख्याओं के साथ किया जा सकता है।
   *   `Number.MAX_VALUE` और `Number.MIN_VALUE` जैसी विशेष संख्याएँ भी उपलब्ध हैं।
   *   `NaN` (Not a Number) एक विशेष संख्यात्मक मान है जो दर्शाता है कि मान संख्या नहीं है।  NaN की जांच `isNaN()` फ़ंक्शन से की जा सकती है।
   *   `Infinity` एक संख्यात्मक मान है जो अनंतता को दर्शाता है।

2. **String:** यह वर्णों का अनुक्रम (sequence of characters) दर्शाने के लिए उपयोग किया जाता है। स्ट्रिंग को एकल उद्धरण चिह्न (') या दोहरे उद्धरण चिह्न (") के भीतर लिखा जाता है। उदाहरण के लिए: `"Hello"`, `'World'`, `"123"`।

   *   स्ट्रिंग मैनिपुलेशन के लिए कई बिल्ट-इन मेथड उपलब्ध हैं, जैसे `length`, `substring`, `indexOf`, `replace` आदि।
   *   स्ट्रिंग को एक साथ जोड़ने के लिए `+` ऑपरेटर का उपयोग किया जा सकता है।
   *   टेम्पलेट लिटरल (Template literals) का उपयोग करके स्ट्रिंग में वेरिएबल को एम्बेड किया जा सकता है (उदाहरण: `` `My name is ${name}` ``)।

3. **Boolean:** यह केवल दो मानों में से एक को दर्शाने के लिए उपयोग किया जाता है: `true` (सही) या `false` (गलत)। बूलियन मानों का उपयोग आमतौर पर निर्णय लेने के लिए किया जाता है।

   *   तार्किक ऑपरेटर जैसे `&&` (AND), `||` (OR), और `!` (NOT) का उपयोग बूलियन मानों के साथ किया जा सकता है।
   *   तुलनात्मक ऑपरेटर (comparison operators) जैसे `==` (समान), `!=` (असमान), `>` (से बड़ा), `<` (से छोटा) बूलियन मान लौटाते हैं।

4. **Undefined:** यह एक चर को दर्शाता है जिसे घोषित किया गया है लेकिन अभी तक कोई मान नहीं सौंपा गया है। उदाहरण के लिए: `let x;` `x` का मान `undefined` होगा।

   *   `typeof` ऑपरेटर का उपयोग करके किसी चर के डेटा प्रकार की जांच की जा सकती है। `typeof x` `undefined` लौटाएगा।
   *   undefined का उपयोग अक्सर किसी फ़ंक्शन से लौटाए गए मान की अनुपस्थिति को दर्शाने के लिए किया जाता है।

5. **Null:** यह एक जानबूझकर खाली या अनुपस्थित मान को दर्शाता है। यह `undefined` से अलग है क्योंकि `undefined` का मतलब है कि चर को अभी तक मान नहीं सौंपा गया है, जबकि `null` का मतलब है कि चर को जानबूझकर कोई मान नहीं सौंपा गया है। उदाहरण के लिए: `let y = null;`

   *   `null` को `typeof` ऑपरेटर का उपयोग करके जांचने पर `object` लौटाता है, जो एक ऐतिहासिक विसंगति है।
   *   null का उपयोग अक्सर किसी ऑब्जेक्ट या वेरिएबल को स्पष्ट रूप से खाली करने के लिए किया जाता है।

6. **Symbol:** यह एक अद्वितीय और अपरिवर्तनीय प्रिमिटिव डेटा प्रकार है। इसका उपयोग ऑब्जेक्ट गुणों के लिए अद्वितीय पहचानकर्ता बनाने के लिए किया जाता है। उदाहरण के लिए: `let sym = Symbol('description');`

   *   सिंबल का उपयोग ऑब्जेक्ट के गुणों को अनजाने में ओवरराइड होने से बचाने के लिए किया जाता है।
   *   सिंबल ऑब्जेक्ट में छिपे रहते हैं, इसलिए उन्हें `for...in` लूप या `Object.keys()` का उपयोग करके आसानी से नहीं खोजा जा सकता है।

7. **BigInt:** यह बड़ी पूर्णांक संख्याओं को दर्शाने के लिए उपयोग किया जाता है जो `Number` डेटा प्रकार द्वारा सुरक्षित रूप से दर्शाई नहीं जा सकती हैं। उदाहरण के लिए: `let bigNum = 9007199254740991n;`

   *   BigInt का उपयोग उन अनुप्रयोगों में किया जाता है जहां उच्च परिशुद्धता वाली संख्यात्मक गणना की आवश्यकता होती है, जैसे कि क्रिप्टोग्राफी।
   *   BigInt लिटरल बनाने के लिए संख्या के अंत में `n` प्रत्यय का उपयोग किया जाता है।

ऑब्जेक्ट डेटा प्रकार

जावास्क्रिप्ट में एक ही ऑब्जेक्ट डेटा प्रकार है, लेकिन इसके कई रूप हैं:

1. **Object:** यह एक जटिल डेटा संरचना है जो गुणों (properties) और विधियों (methods) का संग्रह है। गुण नाम-मान जोड़े होते हैं, जहां नाम एक स्ट्रिंग या सिंबल होता है और मान कोई भी डेटा प्रकार हो सकता है। उदाहरण के लिए: `let person = { name: 'John', age: 30 };`

   *   ऑब्जेक्ट लिटरल का उपयोग करके ऑब्जेक्ट बनाए जा सकते हैं।
   *   ऑब्जेक्ट के गुणों को डॉट नोटेशन (dot notation) या ब्रैकेट नोटेशन (bracket notation) का उपयोग करके एक्सेस किया जा सकता है।
   *   ऑब्जेक्ट विधियां ऑब्जेक्ट पर किए जा सकने वाले कार्यों को परिभाषित करती हैं।

2. **Array:** यह मानों का एक क्रमित संग्रह है। एरे में विभिन्न डेटा प्रकारों के मान हो सकते हैं। उदाहरण के लिए: `let colors = ['red', 'green', 'blue'];`

   *   एरे लिटरल का उपयोग करके एरे बनाए जा सकते हैं।
   *   एरे के तत्वों को इंडेक्स का उपयोग करके एक्सेस किया जा सकता है, जहां इंडेक्स 0 से शुरू होता है।
   *   एरे में तत्वों को जोड़ने, हटाने और बदलने के लिए कई बिल्ट-इन मेथड उपलब्ध हैं।

3. **Function:** यह कोड का एक ब्लॉक है जिसे एक विशिष्ट कार्य करने के लिए डिज़ाइन किया गया है। फ़ंक्शन को कॉल करने पर, वह कोड निष्पादित होता है। उदाहरण के लिए: `function greet(name) { console.log('Hello, ' + name + '!'); }`

   *   फ़ंक्शन डिक्लेरेशन या फ़ंक्शन एक्सप्रेशन का उपयोग करके फ़ंक्शन बनाए जा सकते हैं।
   *   फ़ंक्शन पैरामीटर ले सकते हैं और मान लौटा सकते हैं।
   *   फ़ंक्शन को अन्य फ़ंक्शन में पास किया जा सकता है।

डेटा प्रकारों का रूपांतरण (Type Conversion)

जावास्क्रिप्ट में, डेटा प्रकारों को स्वचालित रूप से या स्पष्ट रूप से रूपांतरित किया जा सकता है।

  • **अस्पष्ट रूपांतरण (Implicit Conversion):** जावास्क्रिप्ट स्वचालित रूप से डेटा प्रकारों को रूपांतरित कर सकता है जब वे एक साथ उपयोग किए जाते हैं। उदाहरण के लिए, यदि आप एक संख्या और एक स्ट्रिंग को जोड़ने का प्रयास करते हैं, तो जावास्क्रिप्ट स्ट्रिंग को संख्या में रूपांतरित करने का प्रयास करेगा।
  • **स्पष्ट रूपांतरण (Explicit Conversion):** आप बिल्ट-इन फ़ंक्शन का उपयोग करके डेटा प्रकारों को स्पष्ट रूप से रूपांतरित कर सकते हैं। उदाहरण के लिए:
   *   `Number()`: किसी मान को संख्या में रूपांतरित करता है।
   *   `String()`: किसी मान को स्ट्रिंग में रूपांतरित करता है।
   *   `Boolean()`: किसी मान को बूलियन में रूपांतरित करता है।

निष्कर्ष

जावास्क्रिप्ट में डेटा प्रकारों को समझना वेब डेवलपमेंट में महत्वपूर्ण है। विभिन्न डेटा प्रकारों को जानने और वे कैसे काम करते हैं यह समझने से आपको अधिक कुशल और विश्वसनीय कोड लिखने में मदद मिलेगी। यह लेख आपको जावास्क्रिप्ट में डेटा प्रकारों की बुनियादी अवधारणाओं को समझने के लिए एक ठोस आधार प्रदान करता है। आगे की पढ़ाई के लिए, आप डेटा प्रकारों के बारे में अधिक जानकारी प्राप्त करने के लिए ऑनलाइन संसाधनों और दस्तावेज़ों का उपयोग कर सकते हैं।

प्रोग्रामिंग भाषाएं, वेब डेवलपमेंट, जावास्क्रिप्ट सिंटैक्स, चर, ऑपरेटर, संख्यात्मक ऑपरेटर, स्ट्रिंग मैनिपुलेशन, तार्किक ऑपरेटर, undefined का उपयोग, null का उपयोग, सिंबल का उपयोग, BigInt का उपयोग, ऑब्जेक्ट लिटरल, ऑब्जेक्ट विधियां, एरे लिटरल, फ़ंक्शन डिक्लेरेशन, फ़ंक्शन एक्सप्रेशन, डेटा प्रकारों के बारे में अधिक जानकारी, तकनीकी विश्लेषण, वॉल्यूम विश्लेषण, ट्रेडिंग रणनीतियाँ, जोखिम प्रबंधन, बाइनरी विकल्प, वित्तीय बाजार, निवेश, पोर्टफोलियो प्रबंधन, आर्थिक संकेतक, बाजार की भविष्यवाणी, सत्यापन, बाइनरी विकल्प ट्रेडिंग प्लेटफॉर्म, बाइनरी विकल्प ब्रोकर

अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

Баннер