जब टाइपस्क्रिप्ट में सबसे कम रेटिंग वाली विशेषताओं पर चर्चा की जाती है, तो जो अक्सर रडार के नीचे उड़ जाती है, वह अस कॉन्स्ट अभिकथन है। यह सुविधा विभिन्न परिदृश्यों में अविश्वसनीय रूप से उपयोगी है, जो डेवलपर्स के लिए महत्वपूर्ण लाभ प्रदान करती है।
शुरू करने के लिए, आइए परिभाषित करें कि const क्या करता है। कल्पना कीजिए कि आपके पास इस तरह की एक वस्तु है:
const routes = { home: "/home", profile: "/profile", notifications: "/notification", };
यदि आप मार्गों के गुणों पर होवर करते हैं, तो आप देखेंगे कि वे स्ट्रिंग के रूप में टाइप किए गए हैं। उदाहरण के लिए, Routes.home को स्ट्रिंग के रूप में टाइप किया गया है, "/home" के रूप में नहीं। ऐसा इसलिए है क्योंकि टाइपस्क्रिप्ट मानता है कि ये गुण बदल सकते हैं, इसलिए यह उन्हें परिवर्तनशील स्ट्रिंग के रूप में अनुमान लगाता है।
अब, एक ऐसे फ़ंक्शन पर विचार करें जिसे केवल इन विशिष्ट मार्गों को स्वीकार करना चाहिए। आप इस प्रकार को परिभाषित कर सकते हैं:
function changeRoute(route: "home" | "profile" | "notifications") { // navigate to route }
यह दृष्टिकोण काम करता है, लेकिन यह दोहराव वाला और त्रुटि-प्रवण है। यदि आप कोई नया मार्ग जोड़ते हैं, तो आपको फ़ंक्शन की प्रकार परिभाषा को अपडेट करना होगा, जो आदर्श नहीं है।
यहाँ पर const काम में आता है। कॉन्स्ट के रूप में उपयोग करके, आप ऑब्जेक्ट को अपरिवर्तनीय बना सकते हैं, और टाइपस्क्रिप्ट केवल स्ट्रिंग के बजाय शाब्दिक प्रकारों का अनुमान लगाएगा।
const routes = { home: "/home", profile: "/profile", notifications: "/notification", } as const;
अब, रूट्स.होम को "/होम", रूट्स.नोटिफिकेशन्स को "/नोटिफिकेशन्स" के रूप में टाइप किया जाता है, इत्यादि। यह अपरिवर्तनीयता सुनिश्चित करती है कि इन गुणों को बदला नहीं जा सकता है, और टाइपस्क्रिप्ट उनके विशिष्ट मूल्यों को पहचानता है।
आइए एक फ़ंक्शन में const के रूप में एकीकृत करें:
function changeRoute(route: typeof routes[keyof typeof routes]) { // navigate to route }
यहां, टाइपऑफ़ रूट्स को रूट्स ऑब्जेक्ट का प्रकार मिलता है, और कीऑफ़ टाइपऑफ़ रूट्स कुंजियाँ निकालता है, जिसके परिणामस्वरूप रूट मानों के सटीक प्रकार प्राप्त होते हैं। यह फ़ंक्शन को बार-बार अपडेट की आवश्यकता के बिना रूट ऑब्जेक्ट में किसी भी बदलाव के अनुकूल बनाता है।
as const का एक और शक्तिशाली पहलू यह है कि यह प्रकार निष्कर्षण को कैसे सक्षम बनाता है। उदाहरण के लिए:
type Routes = (typeof routes)[keyof typeof routes];
इस प्रकार की परिभाषा गतिशील रूप से रूट ऑब्जेक्ट के मूल्यों को निकालती है, जिससे फ़ंक्शन अधिक रखरखाव योग्य हो जाता है और अतिरेक कम हो जाता है।
टाइपस्क्रिप्ट में as const पुष्टि एक बहुमुखी और शक्तिशाली सुविधा है जो टाइप सुरक्षा में काफी सुधार कर सकती है और आपके कोड में अतिरेक को कम कर सकती है। वस्तुओं को अपरिवर्तनीय बनाकर और सटीक प्रकार के अनुमान को सक्षम करके, यह कोडबेस को बनाए रखने और विस्तारित करने को सरल बनाता है। इसे आज़माएं, और आप देखेंगे कि यह आपके टाइपस्क्रिप्ट प्रोजेक्ट्स को कैसे बेहतर बना सकता है!
हैप्पी कोडिंग!
[प्रकटीकरण: यह लेख एक सहयोगात्मक प्रयास है, जिसमें बेहतर अभिव्यक्ति के लिए चैटजीपीटी की सहायता से मेरे अपने विचारों को जोड़ा गया है।]
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3