Gua*_*gWu 5 javascript variables for-loop variable-assignment typescript
我的代码:
function test() {
let value: number;
for (let i = 0; i < 10; i++) {
value = i;
console.log(value);
}
return value;
}
test();
Run Code Online (Sandbox Code Playgroud)
并得到这个:
Variable 'value' is used before being assigned
Run Code Online (Sandbox Code Playgroud)
我发现这很奇怪,因为我见过其他类似的问题,它们要么使用回调,要么使用 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;
}
Run Code Online (Sandbox Code Playgroud)
使用非空断言运算符可确保“在类型检查器无法得出结论的上下文中,其操作数非空且非未定义”。
function test() {
let value!: number;
for (let i = 0; i < 10; i++) {
value = i;
console.log(value);
}
return value;
}
test();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3251 次 |
| 最近记录: |