Что такое правильный способ справиться с ситуацией, когда у вас есть два интерфейса, которые достаточно близки, что вы хотите, чтобы запустить их через тот же кусок логики:Типы Машинопись Союза: Работа с интерфейсами
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 = ...
. Есть ли у меня выше наилучшего варианта? Или есть лучший способ справиться с этой ситуацией в TypScript?
Я бы сказал так, как вы сделали это выглядит нормально. Однако сам вопрос в основном основан на мнениях, и я буду голосовать, чтобы закрыть его на этой основе. :) – toskv