cách thích hợp để xử lý một tình huống mà bạn có hai giao diện có đủ tương tự mà bạn muốn chạy chúng thông qua cùng một mảnh của logic là gì:loại nguyên cảo Union: Đối phó với giao diện
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;
}
này hoạt động; tuy nhiên, câu hỏi của tôi là cải thiện đường dây var desc = ...
. Là những gì tôi có trên các tùy chọn tốt nhất? Hoặc là có một cách tốt hơn để xử lý tình trạng này trong Typescript?
tôi sẽ nói theo cách bạn đã làm nó có vẻ tốt đẹp. Tuy nhiên câu hỏi chính nó chủ yếu dựa trên ý kiến và tôi sẽ bỏ phiếu để đóng nó trên cơ sở đó. :) – toskv