TypeScript Academy · पाठ

इंटरसेक्शन प्रकार: A और B

गुणों को मिलाने के लिए & से प्रकारों को संयोजित करें

पाठ 2, कुल 4 में से13 चरण

इंटरसेक्शन प्रकार: A और B, CoddyKit पर TypeScript Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह TypeScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्वागत है

इंटरसेक्शन प्रकार कई प्रकारों को एक में मिलाते हैं। इंटरसेक्शन प्रकार के मान को संयुक्त प्रकारों की ALL शर्तें एक साथ पूरी करनी होंगी।

इंटरसेक्शन का मूल सिंटैक्स

इंटरसेक्शन बनाने के लिए `&` ऑपरेटर का उपयोग कीजिए। परिणाम में दोनों प्रकारों की सभी प्रॉपर्टी होती हैं।
type Named = { name: string };
type Aged = { age: number };
type Person = Named & Aged;
const alice: Person = { name: 'Alice', age: 30 };

सभी प्रॉपर्टी आवश्यक

इंटरसेक्शन में संयुक्त सभी प्रकारों की ALL प्रॉपर्टी आवश्यक होती हैं। किसी भी प्रॉपर्टी के छूटने पर प्रकार संबंधी त्रुटि होती है।
type A = { x: number };
type B = { y: number };
type AB = A & B;
// const p: AB = { x: 1 }; // Error — missing y

ऑब्जेक्ट प्रकारों को मिलाना

इंटरसेक्शन का उपयोग अक्सर ऐसे दो ऑब्जेक्ट प्रकारों को मिलाने के लिए किया जाता है जो एक-दूसरे का विस्तार नहीं करते।
type Serializable = { serialize(): string };
type Loggable = { log(): void };
type Service = Serializable & Loggable;

इंटरसेक्शन बनाम विस्तार

इंटरफ़ेस का विस्तार और इंटरसेक्शन ऑब्जेक्ट प्रकारों के लिए समान परिणाम देते हैं, लेकिन इंटरसेक्शन यूनियन और आदिम प्रकारों समेत प्रकार उपनामों के साथ भी काम करता है।
// Interface extend:
interface C extends A, B {}

// Intersection type:
type D = A & B;
// Both give the same shape for simple objects

परस्पर-विरोधी प्रकारों के साथ इंटरसेक्शन

यदि इंटरसेक्ट किए गए दो प्रकारों में एक ही प्रॉपर्टी के परस्पर-विरोधी प्रकार हों, तो उस प्रॉपर्टी का परिणाम `never` होता है।
type X = { id: string };
type Y = { id: number };
type XY = X & Y;
// XY.id is string & number = never — impossible!

फ़ंक्शन पैरामीटर में इंटरसेक्शन

इंटरसेक्शन का उपयोग करके ऐसा आर्ग्युमेंट स्वीकार कीजिए जिसे कई इंटरफ़ेस अनुबंध पूरे करने हों।
function process(item: Serializable & Loggable): void {
  item.log();
  console.log(item.serialize());
}

इंटरसेक्शन के साथ मिक्सिन पैटर्न

इंटरसेक्शन मिक्सिन पैटर्न को सक्षम करते हैं — यानी कई स्रोतों के व्यवहारों को मिलाना।
type Timestamped<T> = T & { createdAt: Date };
type User = Timestamped<{ name: string; email: string }>;

आदिम इंटरसेक्शन `never` में बदल जाते हैं

ऐसे आदिम प्रकारों का इंटरसेक्शन, जिनमें कोई साझा मान नहीं हो सकता, `never` में बदल जाता है।
type T = string & number; // never — a value can't be both

इंटरसेक्शन बनाम यूनियन: मूल अंतर

यूनियन (|) का अर्थ OR है — मान किसी एक प्रकार का हो सकता है। इंटरसेक्शन (&) का अर्थ AND है — मान को सभी प्रकारों की शर्तें पूरी करनी होंगी।

जेनरिक के साथ इंटरसेक्शन का उपयोग

लचीले और विस्तार योग्य प्रकारों के लिए इंटरसेक्शन का उपयोग करके किसी जेनरिक प्रकार को अतिरिक्त प्रॉपर्टी के साथ मिलाइए।
type WithId<T> = T & { id: number };
const user: WithId<{ name: string }> = { id: 1, name: 'Alice' };

त्वरित जाँच

`type T = string & number` का परिणाम क्या होता है?

पुनरावलोकन

इंटरसेक्शन प्रकार (&) सभी संयुक्त प्रकारों की ALL प्रॉपर्टी आवश्यक बनाते हैं। इनका उपयोग ऑब्जेक्ट संरचनाएँ मिलाने, मिक्सिन लागू करने और जेनरिक प्रकारों को संयोजित करने के लिए कीजिए। परस्पर-विरोधी आदिम इंटरसेक्शन `never` में बदल जाते हैं।
शुरुआत निःशुल्क

एआई शिक्षक के साथ TypeScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
101
पाठ
352

अक्सर पूछे जाने वाले प्रश्न

क्या “इंटरसेक्शन प्रकार: A और B” पाठ निःशुल्क है?

हाँ—“इंटरसेक्शन प्रकार: A और B” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और TypeScript Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“इंटरसेक्शन प्रकार: A और B” में मैं क्या सीखूँगा?

गुणों को मिलाने के लिए & से प्रकारों को संयोजित करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ TypeScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या TypeScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर TypeScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“इंटरसेक्शन प्रकार: A और B” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस TypeScript Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर TypeScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. यूनियन प्रकार: A या B
  2. इंटरसेक्शन प्रकार: A और B
  3. सुरक्षित पैटर्न मिलान के लिए विभेदित यूनियन
  4. यूनियन और इंटरसेक्शन के व्यावहारिक पैटर्न
← TypeScript Academy पर वापस जाएँ