टाइपस्क्रिप्ट के साथ काम करते समय, आपको एक यूनियन प्रकार और उस प्रकार के सभी संभावित मानों वाले एक सरणी को परिभाषित करने की आवश्यकता हो सकती है। एक सामान्य तरीका कुछ इस तरह लिखना है:
type Taste = 'しょうゆ' | 'みそ' | 'とんこつ'; const tastes = ['しょうゆ', 'みそ', 'とんこつ'];
पहली नज़र में, यह ठीक लगता है। हालाँकि, यहाँ एक छिपी हुई समस्या है: हर बार जब आप कोई विकल्प बदलना या जोड़ना चाहते हैं, तो आपको स्वाद संघ प्रकार और स्वाद सरणी दोनों को अपडेट करना होगा। प्रयास के इस दोहराव से गलतियाँ हो सकती हैं और कोड को बनाए रखना अधिक कठिन हो जाता है।
सौभाग्य से, अतिरेक को कम करके इसे सरल बनाने का एक तरीका है। टाइपस्क्रिप्ट में as constassertation और typeof का उपयोग करके, आप यूनियन प्रकार और सरणी दोनों की परिभाषा को एक ही स्थान पर समेकित कर सकते हैं। यहां बताया गया है कि आप उपरोक्त कोड को कैसे रिफैक्टर कर सकते हैं:
const tastes = ['しょうゆ', 'みそ', 'とんこつ'] as const; type Taste = (typeof tastes)[number];
इस दृष्टिकोण के कई लाभ हैं:
सत्य का एकल स्रोत:
आप स्वाद सरणी में मूल्यों की सूची केवल एक बार परिभाषित करते हैं। स्वाद प्रकार स्वचालित रूप से इस सरणी से प्राप्त होता है, इसलिए यदि आपको कभी भी सूची को अपडेट करने की आवश्यकता होती है, तो आपको इसे केवल एक ही स्थान पर करना होगा।
प्रकार की सुरक्षा:
कॉन्स्ट के रूप में उपयोग करके, टाइपस्क्रिप्ट स्वाद सरणी को केवल एक स्ट्रिंग सरणी के बजाय शाब्दिक प्रकारों के साथ एक टपल के रूप में मानता है। यह सुनिश्चित करता है कि स्वाद का प्रकार सटीक रहता है और स्वाद के मूल्यों के साथ संरेखित होता है।
बेहतर रखरखाव:
चूंकि स्वाद प्रकार सरणी से उत्पन्न होता है, इसलिए प्रकार और वास्तविक मूल्यों के बीच बेमेल का कोई जोखिम नहीं है। इससे बग की संभावना कम हो जाती है और कोड को बनाए रखना आसान हो जाता है।
अब, जब भी आप अपने कोड में स्वाद प्रकार का उपयोग करते हैं, तो यह स्वाद सरणी में मूल्यों से मेल खाने की गारंटी देता है:
function describeTaste(taste: Taste): string { switch (taste) { case 'しょうゆ': return 'Savory soy sauce flavor.'; case 'みそ': return 'Rich miso flavor.'; case 'とんこつ': return 'Creamy pork broth flavor.'; default: return 'Unknown taste'; } } const allTastes: Taste[] = tastes; // Safe, because they match the type!
यह पैटर्न न केवल आपके कोड की पठनीयता में सुधार करता है बल्कि यह भी सुनिश्चित करता है कि यह कम त्रुटि-प्रवण है, खासकर जब कई मानों से निपटते समय जिन्हें सिंक में रखने की आवश्यकता होती है।
इस रणनीति को अपनाकर, आप अपने टाइपस्क्रिप्ट कोड को अधिक रखरखाव योग्य और स्केलेबल बना सकते हैं। यह विशेष रूप से तब उपयोगी होता है जब आप मूल्यों के बड़े सेट के साथ काम कर रहे होते हैं या जब आपका कोडबेस समय के साथ बढ़ता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3