# टाइप्ड फ़ंक्शन पैरामीटर — टाइपस्क्रिप्ट

Source: https://www.geekswithgeeks.com/hi/typescript/ts-function-basics

> पैरामीटर और रिटर्न वैल्यू को टाइप करें, और कुछ को वैकल्पिक बनाएँ।

## पैरामीटर और रिटर्न टाइप

हर पैरामीटर को टाइप दें, और चाहें तो `)` के बाद रिटर्न टाइप भी।

```typescript
function area(width: number, height: number): number {
  return width * height;
}
area(4, 5);   // 20
```

## वैकल्पिक और डिफ़ॉल्ट पैरामीटर

`?` किसी पैरामीटर को वैकल्पिक बनाता है; डिफ़ॉल्ट मान भी उसे वैकल्पिक बनाता है और उसका टाइप उसी मान से तय होता है।

```typescript
function greet(name: string, greeting: string = "Hello"): string {
  return `${greeting}, ${name}!`;
}
function findUser(id: number, cache?: Map<number, string>) { /* ... */ }
```

## ग़लत तरीक़े से कॉल करना

ग़लत आर्ग्युमेंट संख्या या टाइप को कोड चलने से पहले ही अस्वीकार कर दिया जाता है।

```typescript
area(4);
// Error: Expected 2 arguments, but got 1.
area(4, "5");
// Error: Argument of type 'string' is not assignable to parameter of type 'number'.
```

**Quiz:** फ़ंक्शन पैरामीटर को वैकल्पिक क्या बनाता है?

- [x] नाम के बाद अंत में `?`
- [ ] इसे `unknown` में लपेटना
- [ ] इसे पैरामीटर लिस्ट में सबसे पहले रखना

*Answer:* नाम के बाद अंत में `?`. `name?: string` TS को बताता है कि कॉलर इस आर्ग्युमेंट को छोड़ सकता है।
