Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. TypeScript

शुरुआत करने वालो के लिए TypeScript, पार्ट 2: बेसिक डाटा टाइप्स

by
Read Time:11 minsLanguages:
This post is part of a series called TypeScript for Beginners.
TypeScript for Beginners, Part 1: Getting Started
TypeScript for Beginners, Part 3: Interfaces

Hindi (हिंदी) translation by Ashish Rampal (you can also view the original English article)

Introductory TypeScript ट्यूटोरियल को पढ़ने के बाद, आपको अब IDE जो इसे सपोर्ट करता है में अपने खुद के TypeScript कोड को लिखने में सक्षम होना चाहिए और फिर इसे जावास्क्रिप्ट में कमपाइल करने में। इस ट्यूटोरियल में, आप TypeScript में उपलब्ध विभिन्न प्रकार के डेटा टाइप्स के बारे में जानेंगे।

जावास्क्रिप्ट के सात प्रकार के डेटा टाइप्स हैं: Null, Undefined, Boolean, Number, String, Symbol (ES6 में पेश किया गया), और Object। TypeScript कुछ अन्य टाइप्स को भी परिभाषित करता है, और उन सभी को इस ट्यूटोरियल में विस्तार से कवर किया जाएगा।

Null डेटा टाइप

जावास्क्रिप्ट की ही तरह, TypeScript में null डेटा टाइप की केवल एक वैलिड वैल्यू हो सकती है: null। एक null वेरिएबल में अन्य डेटा टाइप जैसे नंबर और स्ट्रिंग नहीं हो सकते। यदि हम किसी वेरिएबल को null सेट करेंगे तो वह उसके सभी कंटेंट यदि कोई हो तो, को मिटा देगा।

याद रखें कि जब tsconfig.json में strictNullChecks फ्लैग को true पर सेट किया गया हो, तो केवल null वैल्यू को किसी null टाइप के वेरिएबल में असाइन किया जा सकता है। यह फ्लैग डिफ़ॉल्ट रूप से off रहता है, जिसका अर्थ है कि आप अन्य टाइप्स जैसे number या void के साथ वेरिएबल में null वैल्यू असाइन कर सकते हैं।

Undefined डेटा टाइप

कोई वेरिएबल जिसकी वैल्यू आपने नहीं दी हो उसे undefined पर सेट किया जाता है। हालांकि, आप अलग से एक वेरिएबल के टाइप को undefined सेट कर सकते हैं, जैसा कि निम्न उदाहरण में है।

ध्यान रखें कि वेरिएबल जिनका type undefined पर सेट हो उनकी वैल्यू केवल undefined ही हो सकती है। अगर strictNullChecks ऑप्शन में false सेट है, तो आप नंबर और स्ट्रिंग टाइप आदि के साथ undefined वेरिएबल को असाइन कर सकते हैं।

Void डेटा टाइप

Void डेटा टाइप का उपयोग किसी वेरिएबल के लिए type का ना होना दर्शाता है। वेरिएबल को void टाइप के लिए सेट करना शायद बहुत उपयोगी ना हो, लेकिन आप रिटर्न टाइप को फ़ंक्शन में सेट कर सकते हैं जो void को कुछ भी रीटर्न नहीं करता। जब वेरिएबल्स के साथ उपयोग किया जाता है, तो void टाइप में केवल दो मान्य मान हो सकते हैं: null और undefined

Boolean डेटा टाइप

number और string डेटा टाइप्स के विपरीत, boolean में केवल दो मान्य वैल्यूज हो सकती हैं। आप इसकी वैल्यू केवल true या false ही सेट कर सकते हैं। इन वैल्यूज को कण्ट्रोल स्ट्रक्चर में बहुत उपयोग किया जाता है, जहां एक कोड को एक्सेक्यूट किया जाता है यदि कोई कंडीशन true है और कोड का दूसरा हिस्सा एक्सेक्यूट होता है यदि कोई कंडीशन false है।

Boolean वेरिएबल को डिक्लेअर करने का एक बहुत ही बुनियादी उदाहरण है:

Number डेटा टाइप

number डेटा टाइप का उपयोग जावास्क्रिप्ट में दोनों integers और floating-point वैल्यूज के लिए किया जाता है, साथ-ही-साथ TypeScript के लिए भी। हालांकि, आपको यह याद रखना चाहिए कि सभी नंबर आंतरिक रूप से floating-point वैल्यूज के रूप में ही दर्शाए जाते हैं। नंबर्स को Hexadecimal, Octal या Binary लिटेरल्स के रूप में भी दिखाया जा सकता है। ध्यान रखें कि Octal और Binary के प्रतिनिधित्व को ES6 में शुरू किया गया था, और इसके परिणामस्वरूप आपके द्वारा टारगेट किए जाने वाले वर्जन के आधार पर अलग-अलग जावास्क्रिप्ट कोड आउटपुट हो सकते हैं।

तीन अतिरिक्त विशेष सिंबॉलिक वैल्यूज भी हैं जो number टाइप के अंतर्गत आती हैं: +Infinity, -Infinity, और NaNnumber टाइप का उपयोग करने के लिए कुछ उदाहरण यहां दिए गए हैं।

जब टारगेट वर्जन  ES6 पर सेट किया गया हो, तो उपरोक्त कोड निम्न जावास्क्रिप्ट में कंपाइल करेगा:

आपको यह ध्यान रखना चाहिए कि JavaScript वेरिएबल को अब भी let के साथ डिक्लेअर किया गया है, जो कि ES6 में पेश किया गया था। आपको अलग-अलग वेरिएबल के type से संबंधित कोई एरर संदेश भी नहीं दिखाई देता क्योंकि जावास्क्रिप्ट कोड को टाइपस्क्रिप्ट कोड में इस्तेमाल किए जाने वाले टाइप्स का कोई ज्ञान नहीं है।

यदि टारगेट वर्जन ES5 पर सेट किया गया हो, तो टाइपस्क्रिप्ट कोड जिन्हे हमने पहले लिखा था, निम्नलिखित जावास्क्रिप्ट को कंपाइल करेगा:

जैसा कि आप देख सकते हैं, इस बार जहाँ जहाँ let कीवर्ड लिखा गया था उन्हें var में बदल दिया गया है। यह भी ध्यान रखें कि octal और binary नंबर्स उनके डेसीमल फॉर्म में बदल दी गई हैं।

String डेटा टाइप

स्ट्रिंग डेटा टाइप का प्रयोग टेक्स्ट जानकारी को स्टोर करने के लिए किया जाता है। जावास्क्रिप्ट और TypeScript दोनों में डबल कोट्स (") के साथ ही सिंगल कोट्स (') का प्रयोग टेक्स्ट से सम्बंधित इनफार्मेशन को स्ट्रिंग के रूप में करने के लिए किया जाता है। एक स्ट्रिंग शून्य या अधिक करैक्टर को कोट्स में संलग्न कर सकती है।

TypeScript टेम्प्लेट स्ट्रिंग या टेम्पलेट लिट्रल को भी सपोर्ट करता है। ये टेम्पलेट लिट्रल आपको  स्ट्रिंग में एक्सप्रेशंस एम्बेड करने की अनुमति देते हैं। टेम्पलेट लिट्रल डबल कोट्स और सिंगल कोट्स के बजाय बैक-टिक करैक्टर (`) के द्वारा संलग्न होता हैं जो नियमित स्ट्रिंग्स को संलग्न करते हैं। वे ES6 में पेश किए गए थे। इसका मतलब है कि आपको टारगेट किये गए वर्जन के आधार पर अलग-अलग जावास्क्रिप्ट आउटपुट मिलेंगे। TypeScript में टेम्प्लेट लिट्रल का उपयोग करने का एक उदाहरण यहां है:

कंपाइलेशन के बाद, आपको निम्नलिखित जावास्क्रिप्ट प्राप्त होगा:

जैसा कि आप देख सकते हैं, टेम्पलेट लिट्रल ES5 में एक नियमित स्ट्रिंग में बदल दिया गया है। यह उदाहरण दिखाता है कि कैसे TypeScript आपके लिए कम्पेटिबिलिटी के बारे में चिंता किए बिना सभी नवीनतम JavaScript फीचर्स का उपयोग करना संभव बनाता है।

Array और Tuple डेटा टाइप

आप array टाइप को जावास्क्रिप्ट में दो अलग-अलग तरीकों में डिफाइन कर सकते हैं। पहले मेथड में, आप [] के बाद array एलिमेंट के टाइप को निर्दिष्ट करते हैं जो इस प्रकार के एक array को बनता है। जेनेरिक array टाइप Array<elemType> का उपयोग करना एक और तरीका है। निम्न उदाहरण दिखाता है कि कैसे इन दोनों मेथड्स के साथ arrays बनाएं। null या undefined को एक एलिमेंट के रूप में निर्दिष्ट करने से यह एरर को पैदा करेगा जब strictNullChecks फ्लैग true हो।

Tuple डेटा टाइप आपको एक array बनाने की अनुमति देता है जहां निश्चित एलिमेंट्स के टाइप को पहले से जान लिया जाता है। बाकी एलिमेंट्स के टाइप केवल उन टाइप्स में से एक हो सकते है जो आपने पहले से ही tuple के लिए निर्दिष्ट किया है। यह एक उदाहरण है जो इसे स्पष्ट करेगा:

हमारे उदाहरण में सभी tuples के लिए, हमने पहले एलिमेंट के type को एक number और दूसरे एलिमेंट के type को एक string के रूप में सेट किया है। चूंकि हमने केवल पहले दो एलिमेंट्स के लिए type निर्दिष्ट किया है, इसलिए इनमे से बाकी या तो स्ट्रिंग या फिर एक नंबर हो सकते हैं। Tuples b और c को बनाने के परिणामस्वरूप एक error उत्पन्न होता है क्योंकि हम पहले एलिमेंट को स्ट्रिंग वैल्यू देने की कोशिश कर रहे हैं जबकि पहला एलिमेंट एक नंबर बताया गया था।

इसी प्रकार, हम एक tuple एलिमेंट की वैल्यू यह बताने के बाद की यह केवल स्ट्रिंग या नंबर को ही शामिल कर सकता है false सेट नहीं कर सकते हैं। यही कारण है कि अंतिम लाइन के परिणाम में एक error मिलता है।

Enum डाटा टाइप

enum डेटा टाइप C और Java जैसी कई प्रोग्रामिंग लैंग्वेज में मौजूद है। यह जावास्क्रिप्ट में मौजूद नहीं है, लेकिन TypeScript आपको enums को बनाने और काम करने की अनुमति देता है। यदि आपको नहीं पता है कि enums क्या हैं, तो वे आपको याद रखने लायक नामों का उपयोग करके एक जैसी वैल्यूज का एक कलेक्शन बनाने की अनुमति देते हैं।

डिफ़ॉल्ट रूप से, enums की नंबरिंग 0 से शुरू होती है, लेकिन आप पहले या किसी अन्य मेंबर्स की मैन्युअल रूप से अलग वैल्यूज भी सेट कर सकते हैं। इसके बाद वाले सभी मेंबर्स की वैल्यू में यह हर बार 1 बड़ा कर उन्हें बदल देगा। आप enum में सभी वैल्यूज को मेनुअली भी सेट कर सकते हैं।

पिछले उदाहरण के विपरीत, Animals[3] की वैल्यू इस समय undefined है। इसका कारण यह है कि वैल्यू 3 को dog को असाइन किया गया है, लेकिन हमने अलग से इसकी वैल्यू को 11 सेट कर दिया है। cow की वैल्यू 12 पर ही रहती है और 3 नहीं क्योंकि इसकी वैल्यू पिछले मेंबर की वैल्यू से एक अधिक होती है।

Any और Never टाइप्स

मान लीजिए आप एक प्रोग्राम लिख रहे हैं जहां एक वैरिएबल की वैल्यू यूज़र द्वारा निर्धारित की जाती है या किसी थर्ड पार्टी लाइब्रेरी के कोड द्वारा। इस स्थिति में, आप उस वेरिएबल के टाइप को सही ढंग से सेट नहीं कर पाएंगे। वेरिएबल किसी भी टाइप का हो सकता है जैसे स्ट्रिंग, नंबर या बुलियन। इस समस्या को any टाइप का उपयोग करके हल किया जा सकता है। यह तब भी उपयोगी हो सकती है जब आप मिक्स्ड टाइप के एलिमेंट्स के साथ array बनाते हैं।

उपरोक्त कोड में, हम b के लिए नंबर असाइन करने में सक्षम थे और फिर किसी भी एरर के बिना एक स्ट्रिंग में इसकी वैल्यू को बदल सकते हैं क्योंकि any टाइप सभी प्रकार की वैल्यूज को स्वीकार करता लेता हैं।

never टाइप उन सभी वैल्यूज का प्रतिनिधित्व करता है जो कभी भी नहीं आएगी। उदाहरण के लिए, आप किसी फ़ंक्शन के रिटर्न टाइप को never असाइन कर सकते है जो कभी रिटर्न नहीं करेगा। जब कोई फ़ंक्शन हमेशा एक त्रुटि या एक अनंत लूप में फंस जाता है।

अंतिम विचार

इस ट्यूटोरियल ने आपको TypeScript में उपलब्ध सभी टाइप के बारे में परिचय कराया। हमने सीखा कि कैसे एक वैरिएबल में अलग अलग प्रकार की वैल्यूज को सेट करने से TypeScript में एरर आता है। बड़े प्रोग्राम लिखते समय यह जांच आपको बहुत से एरर से बचने में सहायता कर सकती है। हमने यह भी सीखा है कि कैसे जावास्क्रिप्ट के विभिन्न वर्जन को टारगेट किया जाए।

यदि आप अध्ययन के लिए या अपने काम में उपयोग करने के लिए अतिरिक्त संसाधनों की तलाश कर रहे हैं, तो देखें कि हमने Envato marketplace में क्या उपलब्ध कराया है।

अगले ट्यूटोरियल में, आप TypeScript में इंटरफेस के बारे में सीखेंगे। यदि आपके पास इस ट्यूटोरियल से संबंधित कोई प्रश्न हैं, तो मुझे कमैंट्स में बताएं।

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.