【发布时间】:2017-09-04 17:25:42
【问题描述】:
谁能帮我理解和解决这个错误?
vehicleId = mapping.VehicleId;
此行以红色高亮显示错误
无法将类型“数字”转换为类型“0”
- vehicleId 类型为
number - mapping.VehicleId 类型为
number[但标记为可选]
这里的要求是定义这些变量/属性的确切方式:
在功能块中:
let vehicleId = 0;
在映射中(注意这是通过 HTTP 请求设置的,而不是在代码中):
VehicleId?: number;
【问题讨论】:
-
添加声明
vehicleId和mapping.VehicleId类型的代码部分,以及为mapping.VehicleId赋值的部分 -
@NitzanTomer 谢谢,更新了问题
-
你用的是什么版本的打字稿?
-
在 Typescript 中,每个数字值也是一种类型,因此您可以键入
0类型的内容,然后分配将无效。例如let p:0 = 0; let d: number = 10; p = d;将导致错误。但是,至少在 ts 2.5 中,当您编写let v = 0时,v 将输入编号而不是类型0。您认为您可以重新创建一个完整的最小示例吗? -
我已经删除了答案,因为我也签入了 VS,它说的是数字,我想我可能是错的 :)
标签: typescript visual-studio-2017