JavaScript में Generics: शुरुआती लोगों के लिए क्यों ज़रूरी हैं और कैसे उपयोग करें

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय: आपको JavaScript में Generics की आवश्यकता क्यों है?

प्रत्येक JavaScript डेवलपर को देर-सबेर ऐसी स्थिति का सामना करना पड़ता है जहाँ एक फंक्शन या क्लास को विभिन्न डेटा प्रकारों के साथ काम करना होता है। विशेष उपकरणों के बिना, आपको या तो कोड को डुप्लिकेट करना होगा या any का उपयोग करना होगा, जो प्रकार नियंत्रण को समाप्त कर देता है। Generics (जेनेरिक्स या सामान्यीकृत प्रकार) इस समस्या का समाधान करते हैं।

JavaScript के संदर्भ में, TypeScript के साथ काम करते समय या Node.js में आधुनिक पैटर्न का उपयोग करते समय जेनेरिक्स विशेष रूप से प्रासंगिक हैं। भले ही आप शुद्ध JavaScript में लिखते हों, Generics की अवधारणा को समझने से आपको अधिक लचीला और सुरक्षित कोड लिखने में मदद मिलेगी।

इस लेख में हम चर्चा करेंगे:

  • Generics क्या हैं और उनकी आवश्यकता क्यों है
  • फंक्शन और क्लास में जेनेरिक्स का उपयोग कैसे करें
  • Node.js के लिए व्यावहारिक उदाहरण
  • शुरुआती लोगों की सामान्य गलतियाँ


JavaScript में Generics (जेनेरिक्स) क्या हैं?

Generics ऐसे घटकों (फंक्शन, क्लास, इंटरफ़ेस) को बनाने का एक तरीका है जो विभिन्न डेटा प्रकारों के साथ काम कर सकते हैं, साथ ही प्रकार सुरक्षा बनाए रखते हैं। संख्याओं के लिए अलग फंक्शन, स्ट्रिंग के लिए अलग और ऑब्जेक्ट के लिए अलग लिखने के बजाय, आप एक सार्वभौमिक फंक्शन लिखते हैं।

कल्पना करें कि आप एक बॉक्स बना रहे हैं। एक सामान्य बॉक्स केवल एक प्रकार की वस्तुएँ रख सकता है। जेनेरिक्स एक "स्मार्ट" बॉक्स है जो आपके द्वारा उसमें रखी गई चीज़ों के अनुसार समायोजित होता है, लेकिन यह याद रखता है कि उसमें वास्तव में क्या है।

TypeScript (JavaScript के ऊपर एक सुपरसेट) में, जेनेरिक्स को कोण कोष्ठक <> और अक्षर T (Type से) या अन्य पहचानकर्ताओं द्वारा दर्शाया जाता है:



// TypeScript में जेनेरिक का सबसे सरल उदाहरणfunction identity<T>(arg: T): T {    return arg;}

// अब फंक्शन किसी भी प्रकार के साथ काम करता हैconst num = identity<number>(42); // प्रकार numberconst str = identity<string>("Hello"); // प्रकार string


शुद्ध JavaScript में ऐसा सिंटैक्स उपलब्ध नहीं है, लेकिन एप्लिकेशन आर्किटेक्चर को समझने के लिए यह अवधारणा उपयोगी बनी हुई है।



JavaScript और Node.js में Generics की आवश्यकता क्यों है?

आइए तीन प्रमुख कारणों पर विचार करें जिनके लिए जेनेरिक्स को समझना उचित है।



1. लचीलापन खोए बिना प्रकार सुरक्षा

जेनेरिक्स के बिना, आप अक्सर any का उपयोग करते हैं, जो प्रकार जाँच को अक्षम कर देता है:

// बुरा: हम प्रकार की जानकारी खो देते हैंfunction getFirstElement(arr: any[]): any {    return arr[0];}

const val = getFirstElement([1, 2, 3]);// val का प्रकार any है, हम नहीं जानते कि यह संख्या है या स्ट्रिंग

जेनेरिक्स के साथ प्रकार संरक्षित रहता है:

// अच्छा: प्रकार संरक्षित रहता हैfunction getFirstElement<T>(arr: T[]): T {    return arr[0];}

const val = getFirstElement([1, 2, 3]); // val: numberconst str = getFirstElement(["a", "b"]); // str: string


2. कोड डुप्लिकेशन में कमी

जेनेरिक्स के बिना, आपको प्रत्येक प्रकार के लिए अलग-अलग फंक्शन लिखने होंगे:

// जेनेरिक्स के बिना — डुप्लिकेशनfunction processNumber(num: number): number { /* ... */ }function processString(str: string): string { /* ... */ }function processObject(obj: object): object { /* ... */ }

// जेनेरिक्स के साथ — एक फंक्शनfunction process<T>(data: T): T { /* ... */ }


3. पुन: प्रयोज्य घटक बनाना

Node.js में, जेनेरिक्स का उपयोग अक्सर सार्वभौमिक उपयोगिताओं, डेटा हैंडलर और API क्लाइंट बनाने के लिए किया जाता है:

// जेनेरिक्स के साथ सार्वभौमिक HTTP क्लाइंटasync function fetchData<T>(url: string): Promise<T> {    const response = await fetch(url);    return response.json() as Promise<T>;}

// उपयोगinterface User { id: number; name: string;}

const user = await fetchData<User>('/api/user/1');// user स्वचालित रूप से User प्रकार का है


Generics का उपयोग कैसे करें: व्यावहारिक

ब्लॉग

पुस्तक अनुशंसाएँ