我有一个接口员工:export interface Employee { firstName: string; lastName: string;}我正在尝试将 Employee 类型的元素推入数组,如下所示: let allEmployees: Employee[] = []; allEmployees = emp.data?.map((employee) => { return { firstName: employee.firstName, lastName: employee.lastName } });我收到以下打字稿编译时错误:type 'undefined' is not assignable to type 'Employee[]'我使用 .map 函数返回数组的最终值。我该如何解决这个问题?
2 回答
慕森王
TA贡献1777条经验 获得超3个赞
?
in emp.data?
meansdata
是可选的,可能不存在于 中emp
,它告诉 typescript 不要通过链式函数,即map
. 所以你的赋值可以返回undefined
or Employee[]
,它不能赋值给allEmployees
。
慕盖茨4494581
TA贡献1850条经验 获得超11个赞
这是因为也emp.data?可能返回。void 0这就是为什么您不必使用proposal-optional-chaining,只需像下面这样检查:
allEmployees = emp.data ? emp.data.map((employee) => {
return { firstName: employee.firstName, lastName: employee.lastName }
}) : [];
添加回答
举报
0/150
提交
取消