typescript - 为什么这两个 FlatArray 的定义不等价?
问题描述
我不明白为什么这两种数组展平类型不等效:
type FlatArray1<T> = Array<T extends Array<infer U> ? U : T>
type FlatArray2<T> = T extends Array<infer U> ? Array<U> : Array<T>
type A = FlatArray1<boolean> // boolean[]
type B = FlatArray2<boolean> // false[] | true[]
谢谢你的帮助。
解决方案
推荐阅读
- javascript - 如何将此正则表达式替换从替换单个单词更改为替换单词数组?
- swift - 当属性文本包含表情符号时,如何使用 swift 处理 UILabel 中单独单词的点击?
- .htaccess - HTACCESS 重写、删除 .php 和重定向适用于一个规则而不是另一个
- c# - 查找字符串 startwith(正则表达式)
- node.js - NodeJS 转发客户端 SSL 证书
- javascript - JSNI调用函数时出现JavaScript错误
- html - 为什么 IntelliJ 不能识别 svg 元素的 viewBox 属性?
- python - django 表单打印选择值
- c++ - CUDA 高效 nd-array(tensor) 切片
- python - 使用 python 从 HDF5 文件加载大型数据集