在以下TypeScript片段
中export class Customer {
firstName : string = "";
lastName : string = "";
fullName : string = "";
constructor(public firstName, public lastName) {
this.firstName = firstName;
this.lastName = lastName;
this.fullName = firstName + " " + lastName;
}
}
为什么我在构造函数中的firstName和lastName中出现错误,错误是
[ts] Duplicate identifier 'firstName'.
[ts] Subsequent variable declarations must have the same type. Variable
'firstName' must be of type 'string', but here has type 'any'.
这应该是一个没有错误的片段。
感谢您的任何指示
答案 0 :(得分:0)
public firstName
隐式生成firstName
字段并对其进行初始化。
因此,创建具有相同名称的另一个字段是错误的。
答案 1 :(得分:0)
您基本上定义了firstName
和lastName
两次属性。
将参数传递给构造函数并使用public
时,实际上是在创建public
参数。
如果您有以下课程定义,
class Customer {
constructor(public firstName: string) { }
}
等于
class Customer {
public string firstName;
constructor(firstName: string) {
this.firstName = firstName;
}
}
按如下方式更新您的代码:
export class Customer {
fullName : string = "";
constructor(public firstName: string, public lastName: string) {
this.fullName = firstName + " " + lastName;
}
}