代码如下
type MyCapitalize<S extends string> = S extends `${infer R}${infer T}`
? `${Uppercase<R>}${T}`
: ""
让我想不明白的地方是, 为什么TS能推断出 R 代表首字母, 而 T 代表剩余的字符
额外, 我还有一个问题, 就是Exclude,是T,U被迭代了吗?
//T 和 U 都是Tuple
type MyExclude<T, U> = T extends U ? never : T
Ts的类型操控有的很直观, 也很优雅, 但是有的又很看不懂
希望大佬帮忙看下, 如果有好的参考资料可以分享下
首先第一个问题
它会按照顺序依次放入变量, 类似于扩展运算符, 只是不需要你自己写
...
了如果用js的语法来描述他的话其实就类似于这样
如果你愿意在它的基础上再加一个变量就会发现这个的
类似于这样
这时候你会发现这个
type
变成了指向He
了, T自动使用了他的第二个值第二个问题没太看懂想问什么, 抱歉