Kodokon kodokon.com

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

अपने ऑब्जेक्ट के आकार का वर्णन सटीक टाइप के साथ करें, फिर उन्हें इंटरफ़ेस के साथ पुन: उपयोग योग्य बनाएँ।

8 मिनट · 3 प्रश्न

इस पाठ को Kodokon में खोलें

JavaScript में, एक ऑब्जेक्ट कई संबंधित जानकारी को की-वैल्यू जोड़ों के रूप में एक साथ समूहित करता है, जैसे एक रिकॉर्ड कार्ड: एक किताब का एक शीर्षक और पृष्ठों की संख्या होती है। TypeScript में, आप किसी ऑब्जेक्ट के सटीक आकार का वर्णन कर सकते हैं: उसमें कौन-सी प्रॉपर्टीज़ हैं और प्रत्येक का टाइप क्या है।

TYPESCRIPT
const book: { title: string; pages: number } = {
  title: "The Little Prince",
  pages: 96,
};

console.log(book.title); // "The Little Prince"
ऑब्जेक्ट का आकार सीधे टाइप में लिखा जाता है।

हर बार आकार को पूरा लिखना जल्दी ही दोहराव भरा हो जाता है। एक इंटरफ़ेस उस आकार को एक नाम देता है, ताकि आप उसे हर जगह पुन: उपयोग कर सकें। आप इसे interface कीवर्ड के साथ घोषित करते हैं, उसके बाद एक नाम (परंपरा के अनुसार बड़े अक्षर से शुरू), फिर प्रॉपर्टीज़ और उनके टाइप की सूची।

TYPESCRIPT
interface Recipe {
  name: string;
  servings: number;
  isVegetarian: boolean;
}

const pancakes: Recipe = {
  name: "Pancakes",
  servings: 4,
  isVegetarian: true,
};
Recipe इंटरफ़ेस प्रोग्राम की हर रेसिपी का वर्णन करता है।

किसी इंटरफ़ेस की सभी प्रॉपर्टीज़ डिफ़ॉल्ट रूप से आवश्यक होती हैं: servings को भूल जाने पर एक त्रुटि उत्पन्न होगी। किसी प्रॉपर्टी को वैकल्पिक बनाने के लिए, उसके नाम के ठीक बाद एक प्रश्नचिह्न ? जोड़ें। फिर ऑब्जेक्ट को उस प्रॉपर्टी के साथ या उसके बिना बनाया जा सकता है।

TYPESCRIPT
interface Contact {
  name: string;
  phone: string;
  email?: string; // optional thanks to the ?
}

const alice: Contact = {
  name: "Alice",
  phone: "0601020304",
}; // allowed: email can be omitted
email? प्रॉपर्टी को वैकल्पिक बनाता है।

ज्ञान जांच

सुनिश्चित करें कि आपको इस पाठ के मुख्य बिंदु याद हैं।

  1. TypeScript में इंटरफ़ेस किसलिए होता है?
    • किसी ऑब्जेक्ट के आकार का वर्णन करने और उसे पुन: उपयोग करने के लिए
    • एक वेब पेज बनाने के लिए
    • किसी फ़ंक्शन को तेज़ चलाने के लिए
    • एक सर्वर पर डेटा संग्रहीत करने के लिए
  2. email?: string में प्रश्नचिह्न का क्या अर्थ है?
    • email प्रॉपर्टी आवश्यक है
    • email प्रॉपर्टी वैकल्पिक है
    • email प्रॉपर्टी हमेशा खाली रहती है
  3. Recipe के रूप में टाइप किए गए किसी ऑब्जेक्ट में name प्रॉपर्टी गायब है। क्या होता है?
    • TypeScript निष्पादन से पहले एक त्रुटि रिपोर्ट करता है
    • प्रोग्राम रनटाइम पर बिना चेतावनी के क्रैश हो जाता है
    • TypeScript प्रॉपर्टी को स्वचालित रूप से जोड़ देता है