Typescript 财产';xxxx和x27;类实现的类型yyyy上不存在

Typescript 财产';xxxx和x27;类实现的类型yyyy上不存在,typescript,Typescript,我是typescript的新手,我不知道如何像python字典类型一样处理以下代码。我想创建一个只有三个属性的对象(人)和另一个对象(人),其中所有属性都来自人,另外一个属性是通过某种属性构建的。并创建一个对象数组并对其进行迭代。我只知道我可以创建一个接口来处理对象类型,但从visual studio代码中,我发现类型“Person”上不存在属性“fName”之类的错误。 interface Human { fName: string, lName: string, ge

我是typescript的新手,我不知道如何像python字典类型一样处理以下代码。我想创建一个只有三个属性的对象(人)和另一个对象(人),其中所有属性都来自人,另外一个属性是通过某种属性构建的。并创建一个对象数组并对其进行迭代。我只知道我可以创建一个接口来处理对象类型,但从visual studio代码中,我发现类型“Person”上不存在属性“fName”之类的错误。

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
请查看文档中的内容。