Type T | undefined is not assignable to type T

来源:2-12 泛型(Generics) 第三部分 - 类和接口

5942

2022-12-16

老师好,这个问题怎么解比较好?如果在pop的返回类型用T | undefined,使用pop的结果又会推断有问题。
图片描述

写回答

2回答

weixin_慕前端1237624

2023-01-13

懂了。


0
0

张轩

2022-12-17

同学你好

这里就应该返回 T | undefined ,这样才符合逻辑,因为一个空数组是有可能返回 undefined,

//返回的结果使用类型收窄就可以,先判断返回值是否存在
const result = queue.pop()
// result 在这里是 T 或者 undefined
if (result) {
 // 现在 result 已经是 T 类型了
}
// 这样 TS 成功的帮我们规避了错误


0
1
weixin_慕前端1237624
看错了 没事了
2023-01-13
共1条回复

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2128 学习 · 959 问题

查看课程