टाइपस्क्रिप्ट में डेटा प्रकार
यह लेख टाइपस्क्रिप्ट में डेटा प्रकारों को समझाता है।
YouTube Video
टाइपस्क्रिप्ट में डेटा प्रकार
टाइपस्क्रिप्ट विभिन्न प्रकार के डेटा प्रकार प्रदान करता है। यह आपको वेरिएबल, फ़ंक्शन के तर्कों और रिटर्न मानों के लिए सख्त प्रकार परिभाषित करने की अनुमति देता है। नीचे मुख्य डेटा प्रकार और उनका उपयोग दिया गया है।
प्राथमिक प्रकार (Primitive Types)
संख्या प्रकार (number Type)
1let age: number = 25;
2console.log(age); // Outputs: 25
3console.log(typeof age); // Outputs: number
संख्या
एक प्रकार है जिसका उपयोग संख्यात्मक मानों को संभालने के लिए किया जाता है, जिसमें पूर्णांक और फ्लोटिंग-पॉइंट नंबर (दशमलव) शामिल होते हैं। कुछ सीमाओं से अधिक मानों को संभालने परInfinity
याNaN
(नॉट-अ-नंबर) का परिणाम होता है।
1// Decimal calculations
2console.log(0.1 + 0.2 === 0.3); // false
3console.log(0.1 + 0.2); // 0.30000000000000004
4
5// Calculations with large numbers
6console.log(9007199254740991 + 1); // correct value
7console.log(9007199254740991 + 2); // incorrect value
-
TypeScript में, संख्याओं को फ्लोटिंग पॉइंट नंबर के रूप में दर्शाया जाता है। इससे गणना के परिणामों में थोड़ी अशुद्धियां हो सकती हैं।
-
जब सटीक गणनाएं आवश्यक हों, जैसे कि वित्तीय राशि, तो इस तरह की राउंडिंग त्रुटियों से बचना आवश्यक है। उदाहरण के लिए, आप
BigInt
याtoFixed()
का उपयोग कर सकते हैं, याdecimal.js
जैसी लाइब्रेरी का उपयोग करके दशमलव स्थानों को समायोजित कर सकते हैं।
स्ट्रिंग प्रकार (string Type)
string
प्रकार पाठ्य डेटा को संभालता है।
1let greeting: string = "Hello, TypeScript!";
2console.log(greeting); // Outputs: Hello, TypeScript!
3console.log(typeof greeting); // Outputs: string
बूलियन प्रकार (boolean प्रकार)
boolean
प्रकार में दो मान होते हैं: true
या false
।
1let isOpen: boolean = true;
2console.log(isOpen); // Outputs: true
3console.log(typeof isOpen); // Outputs: boolean
null और undefined
null
'अस्तित्वहीन मान' को दर्शाता है, और undefined
'अपरिभाषित मान' को दर्शाता है।
1let emptyValue: null = null;
2let notDefined: undefined = undefined;
3
4console.log(emptyValue); // Outputs: null
5console.log(typeof emptyValue); // Outputs: object (JavaScript specification)
6
7console.log(notDefined); // Outputs: undefined
8console.log(typeof notDefined); // Outputs: undefined
Array
टाइपस्क्रिप्ट में, आप ऐरे तत्वों के प्रकार निर्दिष्ट कर सकते हैं। number[]
संख्याओं की एक ऐरे है, और string[]
स्ट्रिंग्स की एक ऐरे है।
1let numbers: number[] = [1, 2, 3, 4];
2console.log(numbers); // Outputs: [1, 2, 3, 4]
3console.log(typeof numbers); // Outputs: object
4
5let words: string[] = ["TypeScript", "JavaScript"];
6console.log(words); // Outputs: ["TypeScript", "JavaScript"]
7console.log(typeof words); // Outputs: object
ट्यूपल (Tuple)
ट्यूपल एक ऐसा ऐरे है जिसमें विभिन्न प्रकार के तत्व होते हैं।
1let person: [string, number] = ["Alice", 30];
2console.log(person); // Outputs: ["Alice", 30]
3console.log(typeof person); // Outputs: object
एनम (Enum)
enum
नामांकित स्थिरांक का एक सेट परिभाषित करता है।
1enum Color {
2 Red,
3 Green,
4 Blue
5}
6
7let favoriteColor: Color = Color.Green;
8console.log(favoriteColor); // Outputs: 1 (Defaults start from 0)
9console.log(typeof favoriteColor); // Outputs: number
any
any
प्रकार किसी भी प्रकार के मान को रख सकता है और इसे तब उपयोग किया जाता है जब आप प्रकार की जांच अक्षम करना चाहते हैं।
1let anything: any = "Hello";
2console.log(anything); // Outputs: Hello
3console.log(typeof anything); // Outputs: string
4
5anything = 42;
6console.log(anything); // Outputs: 42
7console.log(typeof anything); // Outputs: number
यूनियन प्रकार (Union Type)
यूनियन प्रकार का उपयोग करके, आप वेरिएबल्स को परिभाषित कर सकते हैं जो एक से अधिक प्रकारों में से किसी एक को रख सकते हैं।
1let identifier: number | string = "ID_12345";
2console.log(identifier); // Outputs: ID_12345
3console.log(typeof identifier); // Outputs: string
4
5identifier = 12345;
6console.log(identifier); // Outputs: 12345
7console.log(typeof identifier); // Outputs: number
सारांश
number
,string
,boolean
: प्राथमिक प्रकार।null
,undefined
: विशेष मान।Array
: प्रकार एनोटेशन के साथ एक एरे।Tuple
: विभिन्न प्रकार के तत्वों वाली एक सरणी।enum
: एक क्रमांकित प्रकार।any
: कोई भी प्रकार।Union
: एक वेरिएबल जो कई प्रकारों में से एक ले सकता है।
इन डेटा प्रकारों का उपयोग करके, TypeScript प्रकार सुरक्षा को बढ़ाता है, जिससे विकास के दौरान त्रुटियों को रोकना आसान हो जाता है।
व्रैपर वस्तुएँ (Wrapper Objects)
TypeScript में Wrapper Objects ऐसी ऑब्जेक्ट्स होती हैं जो प्राथमिक डेटा प्रकारों को ऑब्जेक्ट्स के रूप में मानने के लिए स्वचालित रूप से बनाई जाती हैं। प्राथमिक प्रकार हल्के और तेज़ संचालन की अनुमति देते हैं, जबकि ऑब्जेक्ट प्रकारों में तरीकों और गुण होते हैं, जो समृद्ध संचालन को सक्षम करते हैं।
JavaScript (और TypeScript) में प्राथमिक प्रकारों जैसे string
, number
, और boolean
के लिए संबंधित रैपर ऑब्जेक्ट्स होते हैं। इन्हें क्रमशः String
, Number
, और Boolean
नामक कंस्ट्रक्टर फ़ंक्शनों का उपयोग करके बनाया जाता है।
नीचे रैपर ऑब्जेक्ट्स के उदाहरण दिए गए हैं।
String ऑब्जेक्ट
String
ऑब्जेक्ट स्ट्रिंग्स के लिए गुण और तरीके प्रदान करता है।
1let strPrimitive: string = "Hello, World!";
2let strObject: String = new String("Hello, World!");
3
4console.log(strPrimitive); // Outputs: Hello, World!
5console.log(typeof strPrimitive); // Outputs: string
6
7console.log(strObject); // Outputs: [String: 'Hello, World!']
8console.log(typeof strObject); // Outputs: object
विशेषताएँ:
- प्राथमिक
string
से अलग,typeof
द्वाराString
ऑब्जेक्ट कोobject
के रूप में माना जाता है। - स्ट्रिंग्स को संशोधित करते समय या उन पर तरीके कॉल करते समय रैपर ऑब्जेक्ट्स उपयोगी होते हैं।
Number ऑब्जेक्ट
Number
ऑब्जेक्ट नंबरों के लिए गुण और तरीके प्रदान करता है।
1let numPrimitive: number = 42;
2let numObject: Number = new Number(42);
3
4console.log(numPrimitive); // Outputs: 42
5console.log(typeof numPrimitive); // Outputs: number
6
7console.log(numObject); // Outputs: [Number: 42]
8console.log(typeof numObject); // Outputs: object
विशेषताएँ:
Number
ऑब्जेक्ट, नंबरों के लिए एक रैपर के रूप में, संख्यात्मक संचालन के तरीकों को शामिल करता है (जैसेtoFixed
)।
Boolean ऑब्जेक्ट
Boolean
ऑब्जेक्ट बूलियन मानों के लिए गुण और तरीके प्रदान करता है।
1let boolPrimitive: boolean = true;
2let boolObject: Boolean = new Boolean(true);
3
4console.log(boolPrimitive); // Outputs: true
5console.log(typeof boolPrimitive); // Outputs: boolean
6
7console.log(boolObject); // Outputs: [Boolean: true]
8console.log(typeof boolObject); // Outputs: object
विशेषताएँ:
Boolean
ऑब्जेक्ट प्राथमिकboolean
प्रकार के लिए एक रैपर है और इसेobject
के रूप में माना जाता है।
Wrapper ऑब्जेक्ट्स और प्राथमिक प्रकारों के बीच अंतर
चूंकि रैपर ऑब्जेक्ट्स को ऑब्जेक्ट्स के रूप में माना जाता है, प्रदर्शन में थोड़ी गिरावट होती है, लेकिन अतिरिक्त गुणों और तरीकों के कारण अधिक कार्यात्मक संचालन संभव होते हैं। इसके अलावा, ==
और ===
का उपयोग करके तुलना में अंतर होता है।
1let numPrimitive: number = 123;
2let numObject: Number = new Number(123);
3
4console.log('== : ', numPrimitive == numObject); // Outputs: true (Value comparison)
5console.log('=== : ', numPrimitive === numObject); // Outputs: false (Due to differing types)
विशेषताएँ:
==
मानों की तुलना करता है, जबकि===
प्रकारों सहित सख्ती से तुलना करता है।===
आवरण ऑब्जेक्ट्स की तुलना में मूल प्रकारों के साथ तुलना करते समयfalse
लौटाता है।
प्रकार रूपांतरण
TypeScript में, अप्रत्यक्ष और स्पष्ट प्रकार रूपांतरणों का सही प्रबंधन करना महत्वपूर्ण है।
अप्रत्यक्ष प्रकार रूपांतरण
- TypeScript में, प्रकार सुरक्षा सुनिश्चित करने के लिए अप्रत्यक्ष प्रकार रूपांतरणों से जितना संभव हो सके बचना चाहिए।
1const result: string = 5 + "5"; // "55" (the number is converted to a string)
2
3console.log(result);
- इस उदाहरण में, संख्या
5
को अप्रत्यक्ष रूप से एक स्ट्रिंग में परिवर्तित किया गया है, जिसके परिणामस्वरूप स्ट्रिंग"55"
बनती है।
स्पष्ट प्रकार रूपांतरण
- TypeScript में, प्रकार रूपांतरणों को सुरक्षित रूप से करने के लिए प्रकार एनोटेशन या प्रकार रूपांतरण फ़ंक्शंस का उपयोग करें।
1const num: string = "123";
2const convertedNum: number = Number(num); // Converts "123" to the number 123
3
4console.log(typeof num);
5console.log(typeof convertedNum);
- इस उदाहरण में,
Number()
फ़ंक्शन का उपयोग स्ट्रिंग"123"
को स्पष्ट रूप से संख्या123
में परिवर्तित करने के लिए किया गया है।
प्रकार जाँच
TypeScript में, आप किसी वेरिएबल के डेटा प्रकार की जांच के लिए typeof
ऑपरेटर का उपयोग कर सकते हैं।
1// Output: The type of 42 is: number
2console.log('The type of 42 is:', typeof 42);
3
4// Output: The type of 42 is: bigint
5console.log('The type of 42n is:', typeof 42n);
6
7// Output: The type of "hello" is: string
8console.log('The type of "hello" is:', typeof "hello");
9
10// Output: The type of true is: boolean
11console.log('The type of true is:', typeof true);
12
13// Output: The type of undefined is: undefined
14console.log('The type of undefined is:', typeof undefined);
15
16// Output: The type of null is: object
17console.log('The type of null is:', typeof null);
18
19// Output: The type of Symbol() is: symbol
20console.log('The type of Symbol() is:', typeof Symbol());
21
22// Output: The type of {} is: object
23console.log('The type of {} is:', typeof {});
24
25// Output: The type of function () {} is: function
26console.log('The type of function () {} is:', typeof function () {});
- TypeScript में, आप प्रकारों की जांच के लिए
typeof
का उपयोग कर सकते हैं, लेकिन अधिक सटीक प्रकार जाँच के लिए,instanceof
याis
ऑपरेटर का उपयोग करने की भी सिफारिश की जाती है।
सारांश
- आवरण ऑब्जेक्ट्स को ऑब्जेक्ट्स के रूप में माना जाता है क्योंकि वे मूल प्रकारों के लिए अतिरिक्त विधियां और गुण प्रदान करते हैं।
String
,Number
, औरBoolean
आवरण ऑब्जेक्ट्स के प्रतिनिधि उदाहरण हैं।- मूल प्रकारों के विपरीत, आवरण ऑब्जेक्ट्स को
typeof
द्वाराobject
के रूप में पहचाना जाता है।
आप हमारे YouTube चैनल पर Visual Studio Code का उपयोग करके ऊपर दिए गए लेख के साथ आगे बढ़ सकते हैं। कृपया YouTube चैनल को भी देखें।