TypeScript में इंटरफेस की वैकल्पिक प्रॉपर्टीज़
इंटरफेस में विशेष वैकल्पिक (ऑप्शनल) प्रॉपर्टीज़ भी परिभाषित की जा सकती हैं।
वे ऑब्जेक्ट को प्रॉपर्टीज़ के एक विशिष्ट सेट तक सीमित न करने के लिए आवश्यक हैं।
साथ ही, ऐसी प्रॉपर्टीज़ के उपयोग पर प्रतिबंध है जो इंटरफेस का हिस्सा नहीं हैं। वैकल्पिक
प्रॉपर्टीज़ प्रॉपर्टी नाम के बाद ? ऑपरेटर का उपयोग करके परिभाषित की जाती हैं।
आइए एक इंटरफेस IFigure बनाएं,
जो सभी ऑब्जेक्ट-आकृतियों के लिए प्रॉपर्टीज़ परिभाषित करता है।
मान लीजिए color एक वैकल्पिक
प्रॉपर्टी है:
interface IFigure {
height: number;
width: number;
color?: string;
}
अब एक ऑब्जेक्ट rectangle बनाएं और
उसके रंग का मान कंसोल पर प्रिंट करें:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
अब जांच करें कि क्या ऑब्जेक्ट में रंग सेट न करने पर कोई त्रुटि आती है:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
कोई त्रुटि नहीं आएगी और कंसोल पर यह संदेश प्रिंट होगा कि रंग केवल परिभाषित नहीं है:
undefined
एक ऑब्जेक्ट के लिए इंटरफेस IDate बनाएं,
जो तारीख स्टोर करता हो: वर्ष, महीना और दिन। इस ऑब्जेक्ट की
सभी प्रॉपर्टीज़ वैकल्पिक होनी चाहिए।