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

Source: https://www.geekswithgeeks.com/hi/typescript/ts-object-types-interfaces

> ऑब्जेक्ट के आकार को इनलाइन या पुनः-उपयोगी इंटरफ़ेस से बताएँ।

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

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

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

## इंटरफ़ेस

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

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

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

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

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