typescript - TypeScript 类泛型实例从不推断
问题描述
interface TreeRaw {
ID: string;
parentID: string;
seq: number;
[props: string]: any;
}
class Tree<T extends TreeRaw = TreeRaw> {
data: T[];
constructor(rawData: T[]) {
this.data = rawData;
}
const tree = new Tree([]);
为什么实例树推断Tree<never>
而不是Tree<TreeRaw>
?
Tree<TreeRaw>
当我不输入泛型时,我该怎么做才能获得实例推断?
解决方案
可能是因为空数组 ( []
) 无法推断为TreeRaw[]
.
这个会正确推断
const tree = new Tree([] as TreeRaw[]);
推荐阅读
- python - 在pycharm中安装后不显示包
- python-3.x - Pip 不会安装模块
- oracle - 触发器成功编译但未触发
- javascript - 有没有办法在道具更改时终止并重新启动新的 Web 套接字连接?
- wpf - c# wpf mvvm prism regionamanger 属性在 Bootstrapper 中为空
- c# - 如何解决“T 的问题?”/对类型参数的可空约束?
- c - 为什么带有双指针的链表会导致错误?
- android - SocketIo EngineIOException 原因:SSLException
- c# - Awake() 完成后对象数组为空
- c# - 如何根据循环中的当前迭代使对象具有不同的名称?