我刚刚学习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;
TypeScript
说firstname
,middleinitial
和lastname
不存在,但不知何故,编译后的代码按预期工作。我在这做错了什么?我知道我可以在constructor
中分配auto gen道具(如评论中所示),但这并不总是我需要的......
答案 0 :(得分:3)
要访问当前班级中的媒体资源,您必须在其前面添加this
。
public fullname: string = this.firstname + " " + this.middleinitial + " " + this.lastname;
它可以在构造函数中不使用this
,因为参数具有这些名称。