पाठ 10 / 26
टाइप एलियास बनाम इंटरफ़ेस
टाइप को नाम देने के दो तरीक़े, छोटे पर असली अंतर के साथ।
टाइप एलियास
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
- दोनों में से कोई नहीं
Answer
केवल type — इंटरफ़ेस केवल ऑब्जेक्ट आकार बता सकते हैं; यूनियन के लिए `type` एलियास चाहिए।