Jaki jest właściwy sposób obsłużyć sytuację, gdzie masz dwa interfejsy, które są na tyle podobne, że chcesz je uruchomić za pośrednictwem tego samego kawałka logiki:Rodzaje Typescript Union: Radzenie sobie z interfejsami
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;
}
To działa; jednak moje pytanie dotyczy ulepszenia linii var desc = ...
. Czy to, co mam powyżej najlepszej opcji? Czy istnieje lepszy sposób na poradzenie sobie z tą sytuacją w Maszynopisie?
Powiedziałbym, że sposób, w jaki zrobił to wygląda dobrze. Jednak samo pytanie jest oparte przede wszystkim na opiniach i będę głosować, aby zamknąć je na tej podstawie. :) – toskv