Typescript find无法识别返回的类型

时间:2017-09-15 12:45:55

标签: javascript typescript

我只是在数组中查找一个对象,但是typescript认为返回类型是未定义的。

 let b =  serverResponse.hotels.find(h => h.hotelMoniker == offer.hotelMoniker) ;
 console.log(b);
 newVacation.hotel = b //Error Here
  

[at-loader]中的错误./ClientApp/app/services/room.service.ts:170:7       TS2322:输入'HotelResultsModel | undefined'不能分配给'HotelResultsModel'。

当我将鼠标悬停在变量上时,typescript认为serverResponse.hotels数组中的对象属于'HotelResultsModel'类型。我甚至可以将它们记录到控制台。

  

类型'undefined'不能分配给'HotelResultsModel'。

我有办法告诉Typescript忽略错误或转发查找结果吗?

1 个答案:

答案 0 :(得分:0)

因为找不到 b 。试试这个:

let b =  serverResponse.hotels.find(h => h.hotelMoniker == offer.hotelMoniker) ;
newVacation.hotel = b || null;