typescript - 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}
。
但是为什么a2
works等于{key:any}
?如果这个问题没有混淆,那么b2
等于是1 | 2
有道理的。
解决方案
在打字稿中,一切都匹配any
,除了never
推荐阅读
- java - 双重没有从一个方法传递到另一个方法
- java - 我想根据我得到的毫秒时间来获得今天或昨天的一天
- javascript - 本地语言在 javascript 文件中的页面加载时转换为外来语言
- javascript - SweetAlert 并在条件正常且成功消息后重定向
- reactjs - 如何将确认事件“注入”到反应选择中?
- javascript - 当某些列为空时,使用 json 数组填充数据表
- php - PHPMailer(忘记密码)没有显示任何输出和错误
- python - 'dict' object has no attribute 'append'
- magento2.2 - 如何在图像调整大小时避免 SSL?
- java - Smartcard verify pin apdu command problem in android