“在分配之前使用变量”(TS2454)的模式没有用

时间:2017-10-11 11:20:53

标签: typescript

考虑以下代码模式

class stuff {
    public id: string;
    public uid: number;
    constructor(parameter: string){
        this.id = parameter;
    }
    public getUID(): number {
        return Date.now();
    }
}

let ids: number[]; /* 1: Here variable is not assigned */
for ( let i = 0; i < 100; i++){
    ids[i] = new stuff(i.toString()).getUID();
    /* 2: Here ids[i] is used before initialized */
}

在这种模式中,typescript不会使用"strict": true进行编译。

我可以做let ids:number[] | undefined但是这会失去使用打字稿的价值。

是否有其他模式可以实现相同的行为?

感谢。

1 个答案:

答案 0 :(得分:2)

let ids: number[] = [];
for ( let i = 0; i < 100; i++){
    ids.push(new stuff(i.toString()).getUID());
}