Typescript中“数字”和“任意”之间的类型关系是什么?

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

标签: typescript typescript-typings

Typescript具有两种兼容性:子类型和赋值(根据the documentation)。

在测试此代码时[playground link]

type A<K, T extends K> = { key: T };

type a1 = A<any, number>;
type a2 = A<number, any>;  // a2 = {key:any}

type B<K, T> = T extends K ? 1 : 2;

type b1 = B<any, number>;
type b2 = B<number, any>;

很明显,a1{key:number}

但是为什么a2有效并且等于{key:any}?如果这个问题没有引起混淆,那么等于b2的{​​{1}}就有意义。

1 个答案:

答案 0 :(得分:0)

在打字稿中,一切any匹配,never除外