# जेनेरिक फ़ंक्शन — टाइपस्क्रिप्ट

Source: https://www.geekswithgeeks.com/hi/typescript/ts-generic-functions

> एक ऐसा फ़ंक्शन लिखें जो कई टाइप्स के साथ सुरक्षित रूप से काम करे।

## एक जेनेरिक आइडेंटिटी फ़ंक्शन

`<T>` एक टाइप प्लेसहोल्डर है, जो असल में पास किए गए टाइप से भर जाता है — `any` के विपरीत, इनपुट और आउटपुट के बीच का संबंध टाइप-सुरक्षित रहता है।

```typescript
function identity<T>(value: T): T {
  return value;
}

const a = identity<number>(42);      // a: number
const b = identity("hello");         // b: string, T inferred
```

## एक लेबल वाला डिब्बा

`T` को एक **लेबल वाले शिपिंग डिब्बे** की तरह सोचें — पैक होने तक पता नहीं क्या अंदर है, पर जो अंदर जाता है वही बिना बदले बाहर आता है।

## एक जेनेरिक ऐरे हेल्पर

यही जेनेरिक फ़ंक्शन संख्याओं, स्ट्रिंग या ऑब्जेक्ट की ऐरे के साथ काम करता है — TS हर कॉल को टाइप-चेक रखता है।

```typescript
function firstElement<T>(arr: T[]): T | undefined {
  return arr[0];
}

firstElement([1, 2, 3]);          // number | undefined
firstElement(["a", "b"]);         // string | undefined
```
