考虑以下代码模式,
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 */
}
在这样的模式中,打字稿不会使用 "strict": true
进行编译。
我可以做let ids:number[] | undefined
但这失去了使用打字稿的价值。
有没有其他模式可以实现相同的行为?
谢谢。
let ids: number[] = [];
for ( let i = 0; i < 100; i++){
ids.push(new stuff(i.toString()).getUID());
}