我很难理解为什么下面的代码会让编译器抱怨变量'test'在赋值之前就被使用了。很明显我调用了函数myFunc,它应该被赋值了吗?如果你取消注解赋值test在它工作的同一层,调用函数和直接赋值有什么区别?
let test: number
function myFunc() {
test = 200
}
myFunc()
// uncomment this and it works
// test = 200
test.toFixed()
https://www.typescriptlang.org/play?ssl=15&ssc=15&pln=3&pc=1#code/LAKFBsFMBcAJsgZ2gLlgOwK4FsBGkAnUYkAM03QGNoBLAe3VmwE8AxCygCgEpYBvULCHwkcALywATAAZpoAL4kW7KjxIB6dbA51s2SOjjQAFjUSwAhugAmsGnADudAgGtEoTSOSwJMuWBAEZAA6aDpWGgAPSGseIA
1条答案
按热度按时间owfi6suc1#
您可以简单地在以下位置更改申报行:字母测试:数字= 0;
如果不这样做,编译器就不知道你在myFunc()中要做什么;