SkillByAIइंटरैक्टिव संस्करण खोलें →

पाठ 11 / 28

टाइप एलियास बनाम इंटरफ़ेस

Type aliases और interfaces की तुलना करें, जिसमें extends, intersections और declaration merging शामिल हैं, और सही चुनें।

टाइप एलियास

type, किसी भी टाइप को नाम देता है — ऑब्जेक्ट, यूनियन, ट्यूपल, प्रिमिटिव।

type Point = { x: number; y: number };
type Id = string | number;

const origin: Point = { x: 0, y: 0 };

extends बनाम &

इंटरफ़ेस extends से जुड़ते हैं और बाद में दोबारा खोले जा सकते हैं (डिक्लेरेशन मर्जिंग)। टाइप एलियास & (इंटरसेक्शन) से जुड़ते हैं और घोषित होने के बाद दोबारा नहीं खुलते।

कौन-सा चुनें

ऑब्जेक्ट आकार के लिए (ख़ासकर पब्लिक API में) डिफ़ॉल्ट रूप से interface उपयोग करें; यूनियन, ट्यूपल या कंप्यूटेड टाइप की ज़रूरत हो तो type उपयोग करें।

त्वरित जाँच: इनमें से कौन `string | number` जैसे यूनियन टाइप को नाम दे सकता है?

  • केवल interface
  • केवल type
  • दोनों में से कोई नहीं
  • केवल `enum`
Answer

केवल type — इंटरफ़ेस केवल ऑब्जेक्ट आकार बता सकते हैं; यूनियन के लिए `type` एलियास चाहिए।