首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TypeError:不是函数TypeScript

TypeError:不是函数TypeScript
EN

Stack Overflow用户
提问于 2017-06-02 12:37:23
回答 1查看 10.3K关注 0票数 3

我有一个非常简单的课程,如:

代码语言:javascript
复制
export class Party {
    constructor(
        public id:Identifier,
        public partyName: PartyName,
        public person:Person
    ) {  }

    copy():Party {
        let copyParty = new Party(this.id, null, null);
        return copyParty;
    }
}

我想使用复制函数(或方法?)在另一个类(特别是一个服务)中,导入这个类如下:

代码语言:javascript
复制
... (party => {
let copyParty:Party = party.copy();
...

但我得到了以下例外:

代码语言:javascript
复制
EXCEPTION: Uncaught (in promise): TypeError: party.copy is not a function

我尝试了let copyParty:Party = Function.call(party.copy, copy) (获得了一些异常)以及let copyParty:Party = party.copy; (返回函数定义,而不是复制的对象)。

我在这里错过了什么?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-02 12:50:06

不能将类型暗示用作将对象实际转换为特定类型的类型。它只是用来保持编译器的快乐,以及代码的可读性。

实际上,应该在REST调用之后实例化对象:

代码语言:javascript
复制
.then(res => res.json().map(party => new Party(party.id, party.partyName, party.person))[0]

这样,您就可以得到一个具有copy方法的对象。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44329162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档