为了账号安全,请及时绑定邮箱和手机立即绑定

打字稿中未定义的不可分配问题

打字稿中未定义的不可分配问题

慕后森 2022-12-09 19:41:44
我有一个接口员工: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. 所以你的赋值可以返回undefinedor Employee[],它不能赋值给allEmployees



查看完整回答
反对 回复 2022-12-09
?
慕盖茨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 }

}) : [];


查看完整回答
反对 回复 2022-12-09
  • 2 回答
  • 0 关注
  • 66 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信