TypeScript में इंटरफेस की वैकल्पिक प्रॉपर्टीज़

इंटरफेस में विशेष वैकल्पिक (ऑप्शनल) प्रॉपर्टीज़ भी परिभाषित की जा सकती हैं। वे ऑब्जेक्ट को प्रॉपर्टीज़ के एक विशिष्ट सेट तक सीमित न करने के लिए आवश्यक हैं। साथ ही, ऐसी प्रॉपर्टीज़ के उपयोग पर प्रतिबंध है जो इंटरफेस का हिस्सा नहीं हैं। वैकल्पिक प्रॉपर्टीज़ प्रॉपर्टी नाम के बाद ? ऑपरेटर का उपयोग करके परिभाषित की जाती हैं।

आइए एक इंटरफेस IFigure बनाएं, जो सभी ऑब्जेक्ट-आकृतियों के लिए प्रॉपर्टीज़ परिभाषित करता है। मान लीजिए color एक वैकल्पिक प्रॉपर्टी है:

typescriptinterface IFigure {
  height: number;
  width: number;
  color?: string;
}

अब एक ऑब्जेक्ट rectangle बनाएं और उसके रंग का मान कंसोल पर प्रिंट करें:

typescriptlet rectangle: IFigure = {
  height: 200,
  width: 300,
  color: 'red'
}

console.log(rectangle.color); // 'red'

अब जांच करें कि क्या ऑब्जेक्ट में रंग सेट न करने पर कोई त्रुटि आती है:

typescriptlet rectangle: IFigure = {
  height: 200,
  width: 300
}

console.log(rectangle.color);

कोई त्रुटि नहीं आएगी और कंसोल पर यह संदेश प्रिंट होगा कि रंग केवल परिभाषित नहीं है:

typescriptundefined
Задание 1

एक ऑब्जेक्ट के लिए इंटरफेस IDate बनाएं, जो तारीख स्टोर करता हो: वर्ष, महीना और दिन। इस ऑब्जेक्ट की सभी प्रॉपर्टीज़ वैकल्पिक होनी चाहिए।