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

जेनेरिक क्या होते हैं
जेनेरिक आपको ऐसा पुनः उपयोग योग्य कोड लिखने देते हैं जो किसी भी टाइप के साथ काम करता है। ये टाइप के लिए स्थानधारक की तरह काम करते हैं, जिन्हें उपयोग करते समय आप निर्दिष्ट कर सकते हैं।
उदाहरण: एक जेनेरिक फ़ंक्शन:
कार्य: ऐसा जेनेरिक फ़ंक्शन लिखिए जो एक आर्ग्युमेंट ले और उसे बिना बदले वापस लौटाए।
function identity<T>(value: T): T {
return value;
}
console.log(identity<string>("Hello"));
// Output: Hello
console.log(identity<number>(42));
// Output: 42
जेनेरिक का उपयोग क्यों करें
जेनेरिक इन कार्यों में आपकी सहायता करते हैं:
- पुनः उपयोग योग्य कोड लिखना: फ़ंक्शन और क्लास अलग-अलग टाइप के साथ काम कर सकते हैं।
- टाइप सुरक्षा सुनिश्चित करना: आप लचीलेपन से समझौता किए बिना विशिष्ट टाइप लागू कर सकते हैं।
- दोहराव कम करना: अलग-अलग टाइप के लिए एक ही फ़ंक्शन या क्लास के अलग-अलग संस्करण लिखने से बचिए।
सुझाव: अधिक लचीला और आसानी से बनाए रखने योग्य कोड लिखने के लिए जेनेरिक का उपयोग कीजिए।
जेनेरिक फ़ंक्शन
आप लचीले फ़ंक्शन बनाने के लिए जेनेरिक का उपयोग कर सकते हैं। उदाहरण:
कार्य: ऐसा जेनेरिक फ़ंक्शन लिखिए जो दो ऑब्जेक्ट को मिलाकर परिणाम लौटाए।
function merge<T, U>(obj1: T, obj2: U): T & U {
return { ...obj1, ...obj2 };
}
let merged = merge({ name: "Alice" }, { age: 25 });
console.log(merged);
// Output: { name: "Alice", age: 25 }
जेनेरिक क्लास
अलग-अलग टाइप के लिए क्लासों को पुनः उपयोग योग्य बनाने हेतु उनमें जेनेरिक का उपयोग किया जा सकता है। उदाहरण:
class Box<T> {
private contents: T;
constructor(contents: T) {
this.contents = contents;
}
getContents(): T {
return this.contents;
}
}
let stringBox = new Box<string>("Hello");
console.log(stringBox.getContents());
// Output: Hello
let numberBox = new Box<number>(42);
console.log(numberBox.getContents());
// Output: 42
जेनेरिक इंटरफ़ेस
अलग-अलग टाइप के लिए संरचना लागू करने हेतु इंटरफ़ेस में भी जेनेरिक का उपयोग किया जा सकता है। उदाहरण:
कार्य: एक जेनेरिक इंटरफ़ेस परिभाषित कीजिए और उसे कार्यान्वित करने वाला ऑब्जेक्ट बनाइए।
interface Pair<T, U> {
first: T;
second: U;
}
let coordinates: Pair<number, number> = { first: 10, second: 20 };
console.log(coordinates);
// Output: { first: 10, second: 20 }
जेनेरिक सीमाएँ
जेनेरिक पर सीमाएँ जोड़कर यह सुनिश्चित किया जा सकता है कि वे केवल विशिष्ट टाइप के साथ ही काम करें। उदाहरण:
function printLength<T extends { length: number }>(item: T): void {
console.log(`Length: ${item.length}`);
}
printLength("Hello");
// Output: Length: 5
printLength([1, 2, 3]);
// Output: Length: 3
// printLength(42);
// Error: Argument of type 'number' is not assignable to parameter of type '{ length: number }'.
जेनेरिक के डिफ़ॉल्ट मान
यदि कोई टाइप न दिया जाए, तो आप जेनेरिक के लिए डिफ़ॉल्ट टाइप निर्दिष्ट कर सकते हैं। उदाहरण:
कार्य: डिफ़ॉल्ट टाइप वाला जेनेरिक फ़ंक्शन बनाइए और अलग-अलग टाइप के साथ उसका परीक्षण कीजिए।
function wrap<T = string>(value: T): T[] {
return [value];
}
console.log(wrap("Hello")); // Output: ["Hello"]
console.log(wrap(42)); // Output: [42]
बहुत बढ़िया!
बधाई हो! आपने TypeScript में पुनः उपयोग योग्य और टाइप-सुरक्षित फ़ंक्शन, क्लास तथा इंटरफ़ेस बनाने के लिए जेनेरिक का उपयोग करना सीख लिया है। लचीला और विस्तार योग्य कोड लिखने के लिए जेनेरिक एक शक्तिशाली साधन हैं। अगले पाठ में हम मैप किए गए और सशर्त टाइप जैसे उन्नत टाइप का अध्ययन करेंगे। कोड लिखते रहिए!

एआई शिक्षक के साथ TypeScript सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 101
- पाठ
- 352
अक्सर पूछे जाने वाले प्रश्न
क्या “जेनरिक” पाठ निःशुल्क है?
हाँ—“जेनरिक” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और TypeScript Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“जेनरिक” में मैं क्या सीखूँगा?
जेनरिक का उपयोग करके दोबारा इस्तेमाल किए जा सकने वाले घटक बनाना सीखें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ TypeScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या TypeScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर TypeScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“जेनरिक” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस TypeScript Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर TypeScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।