TypeScript में लिटरल बनाते समय ऑब्जेक्ट का प्रकार निर्धारित करना
सभी को नमस्ते! मैंने हाल ही में TypeScript सीखना शुरू किया है और एक समस्या का सामना किया जो मुझे अजीब लगती है। जब मैं लिटरल का उपयोग करके एक ऑब्जेक्ट बनाता हूँ, तो मैं स्पष्ट रूप से उसका प्रकार बताना चाहता हूँ, लेकिन मुझे समझ नहीं आता कि इसे सही तरीके से कैसे किया जाए।
यहाँ एक उदाहरण है: मेरे पास एक इंटरफ़ेस `User` है, और मैं इस प्रकार का एक ऑब्जेक्ट `user` बनाना चाहता हूँ। मैंने कई तरीके आज़माए, लेकिन मुझे यकीन नहीं है कि कौन सा सही है और उनमें क्या अंतर है।
```typescript
interface User {
name: string;
age: number;
}
// तरीका 1: घोषणा के बाद प्रकार एनोटेशन
const user1: User = {
name: 'Алексей',
age: 30
};
// तरीका 2: प्रकार कास्टिंग
const user2 = {
name: 'Мария',
age: 25
} as User;
// तरीका 3: बिना प्रकार के
const user3 = {
name: 'Иван',
age: 35
};
```
प्रश्न:
1. इन तरीकों में क्या अंतर है?
2. उनमें से कौन सा अधिक उपयुक्त है?
3. TypeScript कुछ मामलों में अतिरिक्त गुण जोड़ने की अनुमति क्यों देता है, जबकि अन्य में नहीं?
विशेष रूप से मुझे उस स्थिति में भ्रम होता है जब मैं किसी फ़ंक्शन में एक ऑब्जेक्ट पास करना चाहता हूँ, जो...