एक स्थिति है जहाँ आप दो इंटरफेस है कि पर्याप्त समान है कि आप तर्क के एक ही हिस्से के माध्यम से उन्हें चलाना चाहते हैं संभाल करने के लिए उचित तरीका है क्या से निपटना:टाइपप्रति संघ प्रकार: इंटरफेस
interface DescriptionItem {
Description: string;
Code: string;
}
interface NamedItem {
Name: string;
Code: string;
}
function MyLogic(i: DescriptionItem | NamedItem) {
var desc = (<DescriptionItem>i).Description || (<NamedItem>i).Name;
return i.Code + ' - ' + desc;
}
यह काम करता है; हालांकि, मेरा प्रश्न var desc = ...
लाइन में सुधार करने पर है। क्या मेरे पास सबसे अच्छा विकल्प है? या टाइपस्क्रिप्ट में इस स्थिति को संभालने का एक बेहतर तरीका है?
मैं कहूंगा कि जिस तरह से आप यह किया ठीक लग रहा है। हालांकि सवाल स्वयं मुख्य रूप से राय आधारित है और मैं इसे उस आधार पर बंद करने के लिए वोट दूंगा। :) – toskv