使用typescript 2.0.6.0
我定义了一个接口:
interface indexesWorkData {
pointInTime: number;
numberOfIndexesWorking: number;
}
这是我的班级:
class work {
indexesWork: Array<indexesWorkData> = [];
pushRange(startTime: number, endTime: number) {
let indexStart = this.indexesWork.findIndex(x => x.pointInTime >= someNumber);
if (this.indexesWork[indexStart].pointInTime === anotherNumber) {
// Do stuff
}
}
}
我收到编译错误:
“类型indicesWorkData []的值不能通过类型indicesWorkData进行索引”
试图访问this.indexesWork[indexStart
]
但是在运行时它起作用并且indexStart具有正确的值。
为什么?
答案 0 :(得分:0)
您是否可以尝试明确告诉编译器indexStart
的类型?
let indexStart: number = <number>this.indexesWork.findIndex(x => x.pointInTime >= someNumber);