我有一个类似如下的接口:
export interface Person {
name: string;
isMillenial: boolean;
}
同时,需要一个函数来输出该接口:
function makePerson(name: string, birthYear: number): Person {
let newPerson = {
name
}
// Calculate various properties, slowly building up the `newPerson` object
newPerson.isMillenial = birthYear < 1981
return newPerson
}
然而,这将会失败并出现以下错误:
我知道我可以在创建类型 '{ name: string }' 中缺少属性 'isMillenial',但在类型 'Person' 中需要此属性。
newPerson
时声明所有属性以匹配预期的结果,但我想逐步构建正在创建的对象,一直添加属性,直到对象完成为止。在TypeScript中,是否有一种方法可以逐步构建对象并仍满足类型检查要求?(如果答案是'否,你需要默认值',那也是可以接受的答案)