TypeScript में वेरिएबल का प्रकार कैसे पता करें: typeof, instanceof और कस्टम जाँच
सभी को नमस्ते! मैंने अभी-अभी TypeScript सीखना शुरू किया है और एक समस्या का सामना किया: प्रोग्राम के निष्पादन के दौरान कैसे पता करें कि वेरिएबल का प्रकार क्या है? सामान्य JavaScript में मैं `typeof` का उपयोग करता था, लेकिन TS में यह हमेशा मेरी अपेक्षा के अनुसार काम नहीं करता।
यहाँ एक कोड उदाहरण है जो मुझे भ्रमित करता है:
```typescript
let value: string | number = "hello";
// प्रकार जाँचने का प्रयास
if (typeof value === "string") {
console.log(value.toUpperCase()); // काम करता है
}
value = 42;
if (typeof value === "number") {
console.log(value.toFixed(2)); // काम करता है
}
// लेकिन ऑब्जेक्ट के साथ यह अधिक जटिल है
interface User {
name: string;
age: number;
}
interface Admin {
name: string;
role: string;
}
function processUser(user: User | Admin) {
// यहाँ कैसे जाँचें कि यह User है या Admin?