टाइपस्क्रिप्ट के उपयोगिता प्रकारों का लाभ उठाएं और आप अधिक अभिव्यंजक कोड से लाभ उठा सकते हैं जो अधिक मजबूत भी है।
टाइपस्क्रिप्ट जावास्क्रिप्ट का एक सुपरसेट है जो आपको अपने कोड बेस में स्टेटिक टाइपिंग जोड़ने की सुविधा देता है। अपने शक्तिशाली टाइप सिस्टम के साथ, टाइपस्क्रिप्ट बेहतर कोड पठनीयता और संकलन समय के दौरान त्रुटियों को पकड़ने की क्षमता प्रदान करता है।
टाइपस्क्रिप्ट के सबसे लाभकारी पहलुओं में से एक इसका अंतर्निहित उपयोगिता प्रकार है, जो आपके कोडिंग प्रयासों को सरल बना सकता है और बहुमूल्य विकास समय बचा सकता है। इन जरूरी टाइपस्क्रिप्ट उपयोगिता प्रकारों पर एक नज़र डालें जो आसानी से टाइप-सुरक्षित कोड लिखने में आपकी सहायता कर सकते हैं।
टाइपस्क्रिप्ट आंशिक उपयोगिता प्रकार आपको किसी वस्तु के किसी भी गुण को वैकल्पिक बनाने देता है। यह आपको कुछ ऐसे गुणों के साथ ऑब्जेक्ट बनाने देता है जो अनुपलब्ध या अपरिभाषित हो सकते हैं। उदाहरण के लिए लें:
इंटरफेस उपयोगकर्ता {
नाम: डोरी;
आयु: संख्या;
ईमेल: डोरी;
}
का उपयोग आंशिक उपयोगिता प्रकार, आप वैकल्पिक के रूप में सेट किए गए उपयोगकर्ता इंटरफ़ेस के सभी गुणों के साथ एक नया प्रकार बना सकते हैं:
प्रकार वैकल्पिक उपयोगकर्ता = आंशिक
अब, आप केवल परिभाषित गुणों के साथ वैकल्पिक उपयोगकर्ता प्रकार का एक उदाहरण बना सकते हैं:
कॉन्स्ट उपयोगकर्ता: वैकल्पिक उपयोगकर्ता = {नाम: "जॉन" };
आप ऐसी स्थितियों का सामना कर सकते हैं जहाँ आपको कुछ वैकल्पिक गुणों के साथ एक वस्तु बनाने की आवश्यकता होती है। यह काम आ सकता है खासकर जब रूपों का निर्माण जिनमें कई फ़ील्ड हैं, क्योंकि उनमें से सभी की आवश्यकता नहीं हो सकती है और ऐसे मामलों में, आंशिक उपयोगिता महत्वपूर्ण हो सकती है।
टाइपस्क्रिप्ट की पिक यूटिलिटी प्रकार आपको मौजूदा प्रकार से गुणों का केवल एक सबसेट चुनकर एक नया प्रकार उत्पन्न करने में मदद कर सकता है। यह तब काम आता है जब आपको किसी बड़ी वस्तु को केवल कुछ गुणों तक सीमित करने की आवश्यकता होती है या यदि आप आवश्यक गुणों पर सख्त टाइपिंग लागू करना चाहते हैं।
इंटरफेस उपयोगकर्ता {
जगह: डोरी;
आयु: संख्या;
ईमेल: डोरी;
}प्रकार व्यक्ति के बिना ईमेल = उठाओ
'जगह' | 'आयु'>;
कॉन्स्ट व्यक्ति: व्यक्ति के बिना ईमेल = {
जगह: 'अमेरीका',
आयु: 30
};
इस उदाहरण में, "उपयोगकर्ता" नाम का एक इंटरफ़ेस तीन गुणों को परिभाषित करता है: ईमेल, आयु और स्थान।
का उपयोग करके उपयोगिता प्रकार चुनें, आप उपयोगकर्ता इंटरफ़ेस से चुनिंदा रूप से "स्थान" और "आयु" गुणों को निकाल सकते हैं, जिसके परिणामस्वरूप "PersonWithoutEmail" नामक एक नए प्रकार का निर्माण होता है।
फिर आप "PersonWithoutEmail" प्रकार का एक नया उदाहरण बना सकते हैं और केवल "स्थान" और "आयु" गुणों को मान निर्दिष्ट कर सकते हैं। चूंकि इस प्रकार से "ईमेल" संपत्ति को छोड़ दिया गया है, आप इसे ऑब्जेक्ट को असाइन नहीं कर सकते।
पिक यूटिलिटी प्रकार के साथ, आप एक नया प्रकार बना सकते हैं जो आपके इच्छित गुणों को शामिल करता है। यह आपके कोड को अधिक पठनीय और काम करने में आसान बनाने में मदद कर सकता है।
रीड-ओनली प्रकार दर्शाता है कि किसी वस्तु के गुण इसके निर्माण के बाद अपरिवर्तनीय हैं। यह प्रकार लंबे समय में ऑब्जेक्ट के डेटा की निरंतरता की गारंटी देता है, जिसके परिणामस्वरूप चिकनी और अधिक सुरक्षित कोड हैंडलिंग होती है।
इंटरफेस उपयोगकर्ता {
केवल पढ़ने योग्य नाम: डोरी;
केवल पढ़ने योग्य आयु: संख्या;
केवल पढ़ने योग्य ईमेल: डोरी;
}
का उपयोग केवल पढ़ने के लिए उपयोगिता प्रकार, आप केवल पढ़ने के लिए निर्दिष्ट सभी उपयोगकर्ता इंटरफ़ेस गुणों के साथ एक नया प्रकार बना सकते हैं:
प्रकार केवल पढ़ने के लिए उपयोगकर्ता = केवल पढ़ने के लिए
ReadonlyUser उदाहरण बनाते समय आप गुण मान निर्दिष्ट कर सकते हैं ::
कॉन्स्ट उपयोगकर्ता: केवल पढ़ने के लिए उपयोगकर्ता = {
नाम: "जॉन",
आयु: 30,
ईमेल: "जॉन@example.com"
};
जब आप किसी वस्तु के गुणों को केवल पढ़ने के लिए चिह्नित करते हैं, तो उन गुणों के मूल्यों को संशोधित करने का प्रयास असंभव हो जाता है:
उपयोगकर्ता नाम = "जेन";
// त्रुटि: 'नाम' को असाइन नहीं किया जा सकता क्योंकि यह केवल पढ़ने योग्य संपत्ति है।
केवल पढ़ने के लिए प्रकार उन स्थितियों में विशेष रूप से महत्वपूर्ण है जहां आप यह सुनिश्चित करना चाहते हैं कि कोई विशेष वस्तु परिवर्तित नहीं होती है, हालांकि यह संदर्भित है। उदाहरण के लिए, यदि आपके पास कोई ऐसी वस्तु है जिसमें महत्वपूर्ण विन्यास सेटिंग्स हैं, तो आप यह सुनिश्चित करना चाहेंगे कि यह अपरिवर्तित रहे।
यह प्रकार सुनिश्चित करता है कि किसी वस्तु के सभी आवश्यक गुण मौजूद हैं, जबकि आंशिक प्रकार अन्य गुणों को छोड़ते समय आपको गुणों का एक सबसेट निर्दिष्ट करके अधिक लचीलापन प्रदान करता है वैकल्पिक। यह उन स्थितियों में फायदेमंद साबित हो सकता है जहां कुछ गुण आवश्यक नहीं हो सकते हैं या परिवर्तन के अधीन हैं।
इंटरफेस उपयोगकर्ता {
नाम: डोरी;
जगह: संख्या;
पता: डोरी;
}
का उपयोग करके आवश्यक उपयोगिता प्रकार, एक नया प्रकार बनाना संभव है जो सभी उपयोगकर्ता इंटरफ़ेस विशेषताओं को जोड़ता है जबकि आवश्यकता होती है कि इनमें से प्रत्येक गुण मौजूद होना चाहिए। RequiredUser उदाहरण का निर्माण तभी संभव है जब इसके सभी गुण ठीक से सेट हो गए हों।
कॉन्स्ट उपयोगकर्ता: आवश्यक उपयोगकर्ता = {
नाम: "जॉन डो",
जगह: "अमेरीका",
पता: "कंसास 9745-0622"
};
आवश्यक उपयोगिता प्रकार का उपयोग सुनिश्चित करता है कि सभी आवश्यक गुण एक वस्तु के भीतर मौजूद हैं।
ओमिट यूटिलिटी प्रकार आपको मौजूदा प्रकार से विशेष गुणों को छोड़कर एक नया प्रकार बनाने देता है।
इंटरफेस व्यक्ति {
जगह: डोरी;
आयु: संख्या;
ईमेल: डोरी;
}
प्रकार व्यक्ति के बिना ईमेल = छोड़ दें
'ईमेल'>;
कॉन्स्ट व्यक्ति: व्यक्ति के बिना ईमेल = {स्थान: "अमेरीका"; आयु: 30 };
व्यक्ति इंटरफ़ेस में तीन गुण होते हैं: आयु, स्थान और ईमेल। व्यक्तिविथआउटईमेल प्रकार ईमेल को छोड़कर, व्यक्ति वस्तु के सभी गुणों को शामिल करने के लिए ओमिट उपयोगिता प्रकार का उपयोग करता है। फिर आप ईमेल गुण के लिए कोई मान निर्दिष्ट किए बिना, इस नए प्रकार का उदाहरण बना सकते हैं.
आपको यह ध्यान रखना चाहिए कि ओमिट उपयोगिता प्रकार पिक उपयोगिता प्रकार के साथ महत्वपूर्ण समानताएं साझा करता है, क्योंकि यह आपको केवल आपके द्वारा निर्दिष्ट गुणों का उपयोग करके एक नया प्रकार तैयार करने का अधिकार देता है।
आप किसी ऑब्जेक्ट प्रकार को परिभाषित करने के लिए रिकॉर्ड उपयोगिता प्रकार का उपयोग कर सकते हैं जिसके लिए कुंजियाँ और मान एक विशेष प्रकार के होते हैं। इसकी परिभाषा है:
प्रकार अभिलेखका विस्तार keyof कोई, टी> = { [पी में के]: टी;};
यह प्रकार T को प्रत्येक कुंजी के मान के साथ जोड़ता है, जबकि K किसी भी प्रकार की कुंजियों का एक संघ है। परिणामी वस्तु का गुण प्रकार P, T पर सेट है।
स्ट्रिंग कुंजियों और संख्यात्मक मानों के साथ ऑब्जेक्ट प्रकार के परिदृश्य पर विचार करें। ऐसे में आप आवेदन कर सकते हैं रिकॉर्ड उपयोगिता प्रकार जैसा:
प्रकार MyRecord = रिकॉर्ड <डोरी, संख्या>;
कॉन्स्ट myObject: MyRecord = {
"फू": 1,
"छड़": 2,
"बाज": 3,
}
यह उदाहरण MyRecord को स्ट्रिंग कुंजियों और संख्यात्मक मानों के साथ ऑब्जेक्ट प्रकार के रूप में निर्दिष्ट करता है। MyObject ऑब्जेक्ट इस प्रकार का एक उदाहरण प्रस्तुत करता है, जिसमें "फू", "बार", और "बाज" कुंजियों को उनके संबंधित मानों को सौंपा गया है।
इस आलेख ने टाइपस्क्रिप्ट उपयोगिता प्रकारों की विशाल शक्ति को उजागर किया - जब आपके कोड को व्यवस्थित करने और विकास को तेज़ और अधिक कुशल बनाने की बात आती है तो वे एक मूल्यवान संपत्ति हो सकते हैं। ये उपयोगिता प्रकार और टाइपस्क्रिप्ट सामान्य रूप से, यह सुनिश्चित करने के लिए चमत्कार कर सकते हैं कि आपका कोड हमेशा त्रुटि मुक्त है और विशिष्ट संरचनाओं का पालन करता है।