TypeScript में Date (दिनांक) के लिए सही प्रकार कैसे निर्दिष्ट करें?
नमस्ते! मैंने अभी JavaScript के बाद TypeScript सीखना शुरू किया है और दिनांकों के साथ काम करते समय एक अजीब स्थिति का सामना किया।
मान लीजिए, मेरे पास एक फ़ंक्शन है जो उपयोगकर्ता की जन्म तिथि लेता है और उनकी आयु लौटाता है:
```typescript
function calculateAge(birthDate) {
const today = new Date();
const diff = today.getTime() - birthDate.getTime();
return Math.floor(diff / (1000 * 60 * 60 * 24 * 365.25));
}
```
JavaScript में मैं बस `new Date('1990-05-15')` पास कर देता और सब काम करता। लेकिन TypeScript शिकायत करता है कि पैरामीटर `birthDate` का अंतर्निहित प्रकार `any` है। मैंने `birthDate: Date` लिखने की कोशिश की, लेकिन तब मैं स्ट्रिंग `'1990-05-15'` या संख्या `631152000000` (timestamp) पास नहीं कर सकता — कंपाइलर त्रुटि देता है।
साथ ही, मेरे पास एक उपयोगकर्ता इंटरफ़ेस है:
```typescript
interface User {
name: string;
createdAt: ???; // यहाँ क्या लिखें?
lastLogin: ???; // और यहाँ?
}
```
मैं देखता हूँ कि `new Date()` `Date` लौटाता है, लेकिन JSON में डेटा ISO 8601 स्ट्रिंग या Unix टाइमस्टैम्प के रूप में आता है।