TypeScript त्रुटि: Type 'string | undefined' is not assignable to type 'string' — इसे कैसे ठीक करें?
नमस्ते! मैं TypeScript में नया हूँ और एक समझ से परे त्रुटि का सामना किया है। मेरे पास उपयोगकर्ता के लिए एक interface है, जहाँ `name` फ़ील्ड वैकल्पिक है (यह `undefined` हो सकता है)। मैं इस नाम को प्राप्त करके एक function में पास करने की कोशिश कर रहा हूँ जो केवल string स्वीकार करता है, लेकिन TypeScript त्रुटि देता है।
यहाँ मेरा कोड है:
```typescript
interface User {
id: number;
name?: string; // वैकल्पिक फ़ील्ड
}
function greet(name: string) {
console.log(`नमस्ते, ${name}!`);
}
const user: User = { id: 1, name: 'अन्ना' };
greet(user.name); // त्रुटि: Type 'string | undefined' is not assignable to type 'string'
```
मैंने सोचा था कि यदि `name` फ़ील्ड मौजूद है, तो यह निश्चित रूप से string है। लेकिन compiler कहता है कि यह `string | undefined` है। ऐसा क्यों होता है और इस स्थिति को सही तरीके से कैसे संभालें? मैंने `// @ts-ignore` के माध्यम से त्रुटि को अनदेखा करने की कोशिश की, लेकिन यह बुरी प्रथा है। कृपया बताएं कि सही तरीके से कैसे करें ताकि कोड type-safe हो? क्या समाधान के कई तरीके हो सकते हैं?
पहले से धन्यवाद!