首页 > 解决方案 > Typescript中“数字”和“任何”之间的类型关系是什么?

问题描述

Typescript 有两种兼容性:子类型和赋值(根据文档)。

在测试此代码[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}

但是为什么a2works等于{key:any}?如果这个问题没有混淆,那么b2等于是1 | 2有道理的。

标签: typescripttypescript-typings

解决方案


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


推荐阅读