Diff
约 144 字小于 1 分钟
2026-02-11
题目
获取两个接口类型中的差值属性。
interface Foo {
a: string
b: number
}
interface Bar {
a: string
c: boolean
}
type Result1 = Diff<Foo, Bar> // { b: number, c: boolean }
type Result2 = Diff<Bar, Foo> // { b: number, c: boolean }解题思路
待补充
答案
type Diff<O, O1> = any验证
import type { Equal, Expect } from '@type-challenges/utils'
interface Foo {
name: string
age: string
}
interface Bar {
name: string
age: string
gender: number
}
interface Coo {
name: string
gender: number
}
type cases = [
Expect<Equal<Diff<Foo, Bar>, { gender: number }>>,
Expect<Equal<Diff<Bar, Foo>, { gender: number }>>,
Expect<Equal<Diff<Foo, Coo>, { age: string, gender: number }>>,
Expect<Equal<Diff<Coo, Foo>, { age: string, gender: number }>>,
]参考
无
