无法将类型'number'转换为'0'类型

时间:2017-09-04 09:16:21

标签: typescript visual-studio-2017

任何人都可以帮助我理解并解决此错误吗?

vehicleId = mapping.VehicleId;

此行突出显示为红色,错误为

  

无法将类型“数字”转换为“0”

  • vehicleId是number
  • 类型
  • mapping.VehicleId是类型number [但标记为可选]

这里要求的是这些变量/属性的确切定义方式:

在功能块中:

let vehicleId = 0;

在映射中(注意这是通过HTTP请求而不是代码设置的):

VehicleId?: number;

1 个答案:

答案 0 :(得分:1)

在Typescript中,每个数字值也是一个类型,因此当您编写let vehicleId = 0;时,它将被键入0类型。然后你不能为变量赋值,除了具有相同类型的东西(即0)。这有点令人困惑,但有用途。试试:

let vehicleId:number = 0;

let vehicleId = 0 as number;