gpt4 book ai didi

typescript - 无法从接口(interface)函数返回新的派生对象

转载 作者:搜寻专家 更新时间:2023-10-30 21:11:41 25 4
gpt4 key购买 nike

Typescript 代码无法编译。

编译器输出:错误 TS2416:类型“Vector2”中的属性“deepcopy”不可分配给基本类型“Vector”中的同一属性。

我昨天才开始使用 typescript ,这似乎是一个微不足道的问题,但似乎找不到合适的解决方案。

interface Vector {
deepcopy() : this;
}

export class Vector2 implements Vector {
constructor() {
}

deepcopy() {
return new Vector2();
}
}

有什么建议或线索吗?

最佳答案

interface Vector {
deepcopy() : Vector;
}

export class Vector2 implements Vector {
constructor() {
}

deepcopy() {
return new Vector2();
}
}

您的代码的问题在于 this 不是类型。因此 Vector2 与它不匹配。通过将其更改为 Vector,您可以根据需要返回实现 Vector 接口(interface)的实例。

关于typescript - 无法从接口(interface)函数返回新的派生对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54714933/

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