未捕获的TypeError:无法设置属性'版本'在Typescript中未定义

时间:2018-01-30 11:17:30

标签: typescript

我收到以下错误。请帮我修理一下。

未捕获的TypeError:无法设置属性'版本'未定义的     在API.version(:5:30)     at:11:8

class API {

    private message: {
        version: string,
        success: boolean
    };
    public version() {
        this.message.version = "1.0";
        console.log(this.message);
    }
}

let apiObj = new API();
apiObj.version();

1 个答案:

答案 0 :(得分:0)

在您的课程中,您尚未将message属性初始化为任何内容 - 您只需设置属性的类型,因此当您尝试访问该属性时,它将为undefined。这就是您在此声明中收到错误的原因:this.message.version = "1.0";

要解决此问题,您可以使用一些默认值初始化该属性:

class API {

    private message: {
        version: string,
        success: boolean
    } = {
        version: "",
        success: false
    };
}