我正在尝试基于对象中的嵌套属性创建联合类型。请参阅下面的示例:
type Foo = {
abilities: {
canManage: boolean
}
}
type Bar = {
abilities: {
canManage: boolean
}
extraProp: number
}
type Condition1 = {
abilities: {
canManage: true
}
} & Bar
type Condition2 = {
abilities: {
canManage: false
}
} & Foo
type TotalData = Condition1 | Condition2
const data: TotalData = {
abilities: {
canManage: false, // if canManage is false, TS should complain when I add the `extraProp` key
},
extraProp: 5
} …Run Code Online (Sandbox Code Playgroud)