如果我声明以下类型。
export type Type1 = { id: string } | { id: number };
export type Type2 = { id: string } | { id: number };
为什么当我用下面的方式使用时,我会得到一个错误。
function displayItem(item: Type1) {
loadItem({ id: item.id }); // error is indicated here
}
function loadItem(item: Type2) {}
我的理解是 { id: number }; export type Type2 = { id: string } 是,它们应该是等价的,因为它们在结构上是相同的。
export type Type1 = { id: string } | { id: number };
function displayItem(item: Type1) {
loadItem({ id: item.id }); // error is indicated here
}
function loadItem(item: Type1) {}