Typescript重写构造函数

Typescript中,添加一个Sysuser类,想自定义一个构造函数,传入一个字符串做参数,一开始写法如下:

export class Sysuser {
    id: number;
    username: string;
    password: string;
    name: string;

    Sysuser(jsonStr:string){ //重写构造函数
        let obj = JSON.parse(jsonStr);

        this.id = obj["id"];
        this.username = obj["username"];
        this.password = obj["password"];
        this.name = obj["name"];
    }

}

实际调用的时候,按照传统写法,发现是报错的:提示Expected 0 argements, but got 1. 也就是说这还是调用认的无参数构造函数,重写的不起作用。

从TS官方文档查到了原因,原来TS类中重写构造函数要用constructor关键字,修改如下:

constructor(jsonStr:string){    //关键字constructor
        let obj = JSON.parse(jsonStr);
        this.id = obj["id"];
        this.username = obj["username"];
        this.password = obj["password"];
        this.name = obj["name"];
}

问题解决


 

 

相关文章

我最大的一个关于TypeScript的问题是,它将原型的所有方法(无...
我对React很新,我正在尝试理解子组件之间相互通信的简洁方法...
我有一个非常简单的表单,我将用户电子邮件存储在组件的状态,...
我发现接口非常有用,但由于内存问题我需要开始优化我的应用程...
我得到了一个json响应并将其存储在mongodb中,但是我不需要的...
我试图使用loadsh从以下数组中获取唯一类别,[{"listing...