interface
और type
घोषणाएं वही काम करती हैं। आप दूसरे पर एक का उपयोग कब करते हैं?प्रवाह में किसी प्रकार के उपनाम पर इंटरफ़ेस का उपयोग कब करते हैं?
type Fooable = {
foo(): string
}
बनाम
interface Fooable {
foo(): string
}
interface
और type
घोषणाएं वही काम करती हैं। आप दूसरे पर एक का उपयोग कब करते हैं?प्रवाह में किसी प्रकार के उपनाम पर इंटरफ़ेस का उपयोग कब करते हैं?
type Fooable = {
foo(): string
}
बनाम
interface Fooable {
foo(): string
}
यह एक बड़ा सवाल है। आदर्श रूप से एक इंटरफ़ेस और ऑब्जेक्ट प्रकार के बीच कोई अंतर नहीं होगा। लागू होने के रूप में, उनके बीच कुछ हद तक (अक्सर सूक्ष्म) मतभेद हैं।
सबसे बड़ा अंतर यह है कि फ्लो एक इंटरफ़ेस पर घोषित विधियों को "केवल पढ़ने के लिए" मानता है। यह उपप्रकारों को covariant w.r.t. होने की अनुमति देता है। विधियों, जो विरासत पदानुक्रम के साथ एक बहुत ही आम पैटर्न है।
समय में, मैं प्रवाह इन अवधारणाओं को एकजुट देखना चाहेंगे, लेकिन जब तक तो यहाँ इंटरफेस और वस्तु प्रकार के बीच चुनने के लिए अंगूठे का मेरा नियम है:
आशा है कि इससे मदद मिलती है!
अच्छा जवाब, धन्यवाद! – vitorbal
क्या आप इस पर विस्तार कर सकते हैं: 'यह उपप्रकारों को covariant w.r.t. होने की अनुमति देता है। methods'? – CMCDragonkai