TypeScript Academy · पाठ

मैप किए गए प्रकारों में as से कुंजी का पुनर्नामकरण

प्रकार रूपांतरण के दौरान कुंजियों का नाम बदलें

पाठ 4, कुल 4 में से13 चरण

मैप किए गए प्रकारों में as से कुंजी का पुनर्नामकरण, CoddyKit पर TypeScript Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह TypeScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्वागत है

TypeScript 4.1 ने मैप्ड प्रकारों में `as` क्लॉज़ जोड़ा, जिससे प्रकार रूपांतरण के भाग के रूप में कुंजियों को रीमैप (नाम बदलना) संभव हुआ।

बुनियादी कुंजी पुनर्नामकरण

नई कुंजी का नाम देने के लिए कुंजी वाले चर के बाद `as NewKeyType` जोड़ें।
type Prefixed<T> = {
  [K in keyof T as `prefix_${string & K}`]: T[K]
};
type P = Prefixed<{ name: string }>;
// { prefix_name: string }

never से कुंजियों को फ़िल्टर करना

परिणामी प्रकार से उस कुंजी को हटाने के लिए `as` क्लॉज़ से never लौटाएँ।
type OnlyStrings<T> = {
  [K in keyof T as T[K] extends string ? K : never]: T[K]
};

गेटर नाम बनाना

गेटर विधियों के नाम बनाने के लिए टेम्पलेट लिटरल प्रकारों के साथ Capitalize का उपयोग करें।
type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K]
};
type UserGetters = Getters<{ name: string; age: number }>;
// { getName: () => string; getAge: () => number }

सेटर नाम बनाना

इसी तरह, किसी प्रकार की प्रॉपर्टीज़ के लिए सेटर नाम बनाएँ।
type Setters<T> = {
  [K in keyof T as `set${Capitalize<string & K>}`]: (val: T[K]) => void
};

Record प्रकार को उलटना

कुंजी पुनर्नामकरण का उपयोग करके कुंजियों और मानों को आपस में बदलें।
type Invert<T extends Record<string, string>> = {
  [K in keyof T as T[K]]: K
};

सशर्त कुंजी पुनर्नामकरण

मान के प्रकार के आधार पर अलग-अलग कुंजी रूपांतरण लागू करें।
type MethodKeys<T> = {
  [K in keyof T as T[K] extends Function ? K : never]: T[K]
};

टेम्पलेट लिटरल के साथ संयोजन

नेमस्पेस वाली कुंजियाँ बनाने के लिए पुनर्नामकरण में टेम्पलेट लिटरल प्रकारों का उपयोग करें।
type Namespaced<T, NS extends string> = {
  [K in keyof T as `${NS}::${string & K}`]: T[K]
};

सिंबल कुंजियों को मैप करना

कुंजी पुनर्नामकरण के साथ आप सिंबल कुंजियों पर भी काम कर सकते हैं।

व्यावहारिक: FormData प्रकार

टाइप किए गए डेटा मॉडल से स्ट्रिंग-मान वाला फ़ॉर्म ऑब्जेक्ट प्राप्त करें।
type FormFields<T> = {
  [K in keyof T as K extends string ? K : never]: string
};

सशर्त प्रकारों के साथ as का संयोजन

कुंजी पुनर्नामकरण और सशर्त प्रकार मिलकर अत्यंत अभिव्यंजक प्रकार रूपांतरण बनाते हैं।

त्वरित जाँच

मैप किए गए प्रकार में `as` क्लॉज़ से `never` लौटाने पर उस कुंजी के साथ क्या होता है?

पुनरावृत्ति

मैप किए गए प्रकारों में `as` क्लॉज़ आपको टेम्पलेट लिटरल और सशर्त प्रकारों का उपयोग करके कुंजियों का नाम बदलने, उन्हें फ़िल्टर करने (`never` के ज़रिए) और रूपांतरित करने देता है। इससे गेटर/सेटर बनाना और मान के प्रकार के आधार पर प्रॉपर्टीज़ को फ़िल्टर करना जैसे शक्तिशाली पैटर्न संभव होते हैं।
शुरुआत निःशुल्क

एआई शिक्षक के साथ TypeScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
101
पाठ
352

अक्सर पूछे जाने वाले प्रश्न

क्या “मैप किए गए प्रकारों में as से कुंजी का पुनर्नामकरण” पाठ निःशुल्क है?

हाँ—“मैप किए गए प्रकारों में as से कुंजी का पुनर्नामकरण” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और TypeScript Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“मैप किए गए प्रकारों में as से कुंजी का पुनर्नामकरण” में मैं क्या सीखूँगा?

प्रकार रूपांतरण के दौरान कुंजियों का नाम बदलें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ TypeScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या TypeScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर TypeScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“मैप किए गए प्रकारों में as से कुंजी का पुनर्नामकरण” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस TypeScript Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर TypeScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. मैप किए गए प्रकार: ऑब्जेक्ट प्रकारों का रूपांतरण
  2. मैप किए गए प्रकारों में मॉडिफ़ायर: readonly और ?
  3. टेम्पलेट लिटरल प्रकार: स्ट्रिंग पैटर्न
  4. मैप किए गए प्रकारों में as से कुंजी का पुनर्नामकरण
← TypeScript Academy पर वापस जाएँ