我只想定义两个类型是否相等(严格)。我想可以使用以下类型定义来定义相等性:
type EqualsType<T, U> = T extends U ? true : (U extends T ? true : false)
现在,假设我们有两个类型定义:
type User = {
readonly id: number,
name: string
}
type UserReadOnly = Readonly<User>
理论上,以下断言应为false
:
type ResultSecondReadOnly = EqualsType<UserReadOnly, User>
在这种情况下,我无法理解条件类型定义的工作原理。