【发布时间】:2018-04-18 14:02:15
【问题描述】:
对于下面的代码,
// Print indexes
var randArray = [5, 6, 7, 8];
for(var val in randArray){ // val is type inferred to String type
document.write(val + "<br>");
}
// Print values
for(var val of randArray){ // Line 95
document.write(val + "<br>");
}
以下是错误,
tstut.ts(95,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'val' must be of type 'string', but here has type 'number'.
以下代码,
// Print indexes
var randArray = [5, 6, 7, 8];
for(var index in randArray){
document.write(index + "<br>");
}
// Print values
for(var val of randArray){
document.write(val + "<br>");
}
解决问题。
在有问题的情况下,为什么val 类型不能是number 类型?
【问题讨论】:
-
您正试图将
val强制转换为字符串。如果您使用val.toString() + "<br>",错误可能会消失? -
@evolutionxbox 不,强制不能解决问题
标签: javascript typescript scope