打字稿编译错误 - “类型的值...不能按类型转换...”

时间:2016-12-11 08:59:10

标签: javascript arrays typescript

使用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具有正确的值。

为什么?

1 个答案:

答案 0 :(得分:0)

您是否可以尝试明确告诉编译器indexStart的类型?

let indexStart: number = <number>this.indexesWork.findIndex(x => x.pointInTime >= someNumber);