TypeScript数组场景下Read类泛型类型推导异常问题
泛型类批量实例化的类型推导异常解决
问题背景
- 定义了
Asset、User、Device等业务类型 - 实现了基于
Name联合类型的泛型Read<T extends Name>类 - 单独实例化
Read时,TypeScript可正确推导对应具体类型;但通过build函数处理Name数组批量生成实例时,返回的Read实例类型退化为联合类型,无法获取各自对应的具体类型
排查与验证
- 将代码复制到TS Playground执行,类型推导完全符合预期,排除代码本身的类型逻辑问题
- 确认问题仅出现在本地旧版本VSCode环境中
解决方案
重装VSCode后,TypeScript语言服务恢复正常,build函数返回的实例可以正确推导到各自对应的具体类型
内容的提问来源于stack exchange,提问作者Xuân Minh
相关产品推荐
相关产品推荐

