在类中使用自动创建的属性

时间:2015-09-03 01:02:42

标签: typescript

我刚刚学习TypeScript所以这是一个新问题,但Google甚至SO都没有提供帮助。

鉴于此代码:

class Student implements IPerson {
    public fullname: string = firstname + " " + middleinitial + " " + lastname;

    constructor(public firstname, public middleinitial, public lastname) {
        // this.fullname = firstname + " " + middleinitial + " " + lastname;
    }
}

function greeter(person: IPerson) {
    return "Hello, " + person.fullname;
}

当我尝试在初始声明中分配给fullname时:

public fullname: string = firstname + " " + middleinitial + " " + lastname;

TypeScriptfirstnamemiddleinitiallastname不存在,但不知何故,编译后的代码按预期工作。我在这做错了什么?我知道我可以在constructor中分配auto gen道具(如评论中所示),但这并不总是我需要的......

1 个答案:

答案 0 :(得分:3)

要访问当前班级中的媒体资源,您必须在其前面添加this

public fullname: string = this.firstname + " " + this.middleinitial + " " + this.lastname;

它可以在构造函数中不使用this,因为参数具有这些名称。