在TypeScript中定义类型之间的相等性

时间:2019-02-17 02:05:12

标签: typescript type-level-computation

我只想定义两个类型是否相等(严格)。我想可以使用以下类型定义来定义相等性:

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>

在这种情况下,我无法理解条件类型定义的工作原理。

0 个答案:

没有答案