Typescript 财产';xxxx和x27;类实现的类型yyyy上不存在
我是typescript的新手,我不知道如何像python字典类型一样处理以下代码。我想创建一个只有三个属性的对象(人)和另一个对象(人),其中所有属性都来自人,另外一个属性是通过某种属性构建的。并创建一个对象数组并对其进行迭代。我只知道我可以创建一个接口来处理对象类型,但从visual studio代码中,我发现类型“Person”上不存在属性“fName”之类的错误。Typescript 财产';xxxx和x27;类实现的类型yyyy上不存在,typescript,Typescript,我是typescript的新手,我不知道如何像python字典类型一样处理以下代码。我想创建一个只有三个属性的对象(人)和另一个对象(人),其中所有属性都来自人,另外一个属性是通过某种属性构建的。并创建一个对象数组并对其进行迭代。我只知道我可以创建一个接口来处理对象类型,但从visual studio代码中,我发现类型“Person”上不存在属性“fName”之类的错误。 interface Human { fName: string, lName: string, ge
interface Human {
fName: string,
lName: string,
gen: boolean,
};
class Person implements Human {
fullname: string;
constructor(
private f:string,
private l:string,
private g:boolean) {
this.fullname = `${f} ${l}`;
}
}
let u: object[] = [
{fName: 'f1', lName: 'l1', gen: true},
{fName: 'f2', lName: 'l2', gen: false},
{fName: 'f3', lName: 'l3', gen: true},
];
let users: Person[] = u.map((d) => new Person(d.fName, d.lName, d.gen))
user.forEach((d: Person) => {
console.log(d.fName);
})
如果将代码粘贴到您选择的IDE中,您会得到一个关于当前问题的好的、表达性的错误:
Class'Person'错误地实现了接口'Human'。类型“Person”缺少类型“Human”中的以下属性:fName、lName、gen
请查看文档中的内容。