有没有办法做这样的事情?
type Details = {
name: string
}
type Customer = {
id: string,
...Details
}
因此客户实际上是这样的:
type Customer = {
id: string,
name: string
}
答案 0 :(得分:4)
您可以使用intersection type:
type Customer = Details & {
id: string
}
从文档中(重点是我):
交叉点类型将多种类型组合为一种。这可以让你 将现有类型加在一起以得到具有所有 您需要的功能。
答案 1 :(得分:1)
可以完成,如发布的答案jonrsharpe
所示。您还可以通过如下接口扩展类型:
export type Details = {
name: string;
};
export interface Customer extends Details {
id: string;
}
const customer: Customer = {
name: 'name',
id: 'id'
};
答案 2 :(得分:-1)
我最近遇到了这个问题,并且使用的方法略有不同:
type Details = {
name: string
}
type Customer = {
id: string,
name: Details
}
这不是您要的内容,而是一种相交的方式。