基于vue3的ts生态库学习手记,遇到啥写啥,还在坑里,持续更新中 …
typescript
- any、unknown、never类型:
unknown与any类似,但unknown的使用范围小一点,大概意思就是:
any:虽然我不知道你是啥,你干啥我也不管
unknown:你都不知道你是啥,啥都不准你干
1 | function f1(a: any) { |
never:属于是所有类型的子类型,可以用于变量在类型收窄中不可能为真的情况,尤雨溪在知乎上的回答很直观:
1 |
|
1 | //如果后续的调整改动了All类型 |
个时候在 default branch 里面 val 会被收窄为 Baz,导致无法赋值给 never,产生一个编译错误。所以通过这个办法,你可以确保 handleValue 总是穷尽 (exhaust) 了所有 All 的可能类型。
链接:https://www.zhihu.com/question/354601204/answer/888551021
- Promise< T> 泛型的使用
Promise的泛型T代表promise变成成功态之后resolve的值,resolve(value),这可以用于对axios的请求后的类型限制
vue3
组件ts改造
1 | //组件的script加入语言标识,setup的语法糖还是比较香,不过目前还是比较适应常规写法 |
- data的定义有ref与reactive两种方式:
1 | //ref泛型的方式去约束 |
- PropType对props的约束
1 | props:{ |
pinia
待写….