【发布时间】:2021-12-29 21:39:41
【问题描述】:
我的代码:
function test() {
let value: number;
for (let i = 0; i < 10; i++) {
value = i;
console.log(value);
}
return value;
}
test();
得到了这个:
Variable 'value' is used before being assigned
我觉得这很奇怪,因为我看到过其他类似的问题,这些问题要么使用回调,要么使用 Promise 或其他一些异步方法,而我只使用了同步 for 循环。
---------------------- 一些更新 ------------ -------------
function test() {
let value: number;
for (let i = 0; i < 100; i++) {
// a() is very expensive and with some effects
const result = a(i)
if(i===99) {
value = result
}
}
return value;
}
【问题讨论】:
-
Typescript 不知道您的循环体将至少执行一次,并且
value变量确实会被初始化。这就是你得到错误的原因。分配任何初始值将修复错误。
标签: javascript typescript for-loop variables variable-assignment