打字稿的奥秘再次抬头。我有一个打字稿类User,它有一些属性firstName,lastName,eMail等。它还有一个toString()函数。
export class User {
id = '{}';
selected?= false;
firstName = '<First Name>';
lastName = '<Last Name>';
eMail? = '<E Mail>';
createdDate? = new Date(Date.now());
updateDate?: Date;
// tried this??
//toString = () => this.firstName + ' ' + this.lastName;
// and also this??
toString() {
return this.firstName + ' ' + this.lastName;
}
}
函数toString()用于消息,对话框等,但当我尝试在字符串连接中使用它时,我得到[object Object]。
You are editing user ' + this.user.toString();
结果:
You are editing user [object Object]
我已经阅读了实例函数和原型函数,并尝试了它们。我还确保firstName和lastName确实是字符串。
为什么这种奇怪的行为?我不允许连接函数的结果吗?