gpt4 book ai didi

typescript - 返回的表达式类型 Child 不能分配给类型 Parent

转载 作者:行者123 更新时间:2023-12-05 04:13:26 24 4
gpt4 key购买 nike

我有一个扩展另一个类的类,如下所示:

export class Parent {
parentProperty: string;
}

export class Child extends Parent {
parentProperty: string;
childProperty: string;
}

我还有一个接受并返回类型 Parent 的函数:

myFunc(parent: Parent): Parent {
return parent;
}

当我将 Child 的实例传递给此函数时,出现错误:

Returned expression type Child is not assignable to type Parent

我希望 myFunc 成为所有扩展 Parent 类型的通用函数 - 我该怎么做?

最佳答案

myFunc 工作正常,如下所示:

export class Parent {
parentProperty: string;
}

export class Child extends Parent {
parentProperty: string;
childProperty: string;
}


function myFunc(parent: Parent): Parent {
return parent;
}

const foo = myFunc(new Parent());
const bar = myFunc(new Child());

I want myFunc to be a generic function for all types that extend Parent - how can I go about this?

简单的只使用通用约束:

function myFunc<T extends Parent>(parent: T): T {
return parent;
}

关于typescript - 返回的表达式类型 Child 不能分配给类型 Parent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37650151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com