पाठ 10 / 28

ऑब्जेक्ट टाइप्स और इंटरफ़ेस

Objects के shapes inline या reusable interfaces से बताएँ, और TypeScript की structural typing समझें।

इनलाइन ऑब्जेक्ट टाइप्स

आप ऑब्जेक्ट के आकार को सीधे वहीं टाइप कर सकते हैं जहाँ यह उपयोग होता है।

let user: { name: string; age: number } = {
  name: "Ada",
  age: 36,
};
user.age = "old";
// Error: Type 'string' is not assignable to type 'number'.

इंटरफ़ेस

interface किसी आकार को नाम देता है ताकि आप उसे वेरिएबल, पैरामीटर और रिटर्न टाइप्स में दोबारा उपयोग कर सकें।

interface User {
  name: string;
  age: number;
}

function printUser(u: User): void {
  console.log(`${u.name} (${u.age})`);
}

इंटरफ़ेस क्यों?

सही प्रॉपर्टीज़ वाला कोई भी ऑब्जेक्ट इंटरफ़ेस को संतुष्ट करता है — TS संरचना जाँचता है, क्लास का नाम नहीं। इसे "स्ट्रक्चरल टाइपिंग" कहते हैं।