Javascript typescript:在编译时检测未初始化变量的赋值
请看代码Javascript typescript:在编译时检测未初始化变量的赋值,javascript,typescript,Javascript,Typescript,请看代码 这是一个运行时错误,因为t从未初始化,可以通过取消对行的注释来解决。有没有办法在编译时检测对未初始化变量的赋值?没有,TypeScript中没有一种标准化的方法来防止对未初始化变量的属性赋值 许多人会尝试通过单元测试或断言库捕获该错误,在设置属性之前验证对象是否存在 不,TS不能那样做。有充分的理由。假设您在文件a中声明,在文件b中设置,在文件c中使用 TypeScript无法知道您将先加载文件a,然后加载文件b,然后加载文件c。在运行时,您可能会首先加载文件c(使用脚本标记),但仍然
这是一个运行时错误,因为t从未初始化,可以通过取消对行的注释来解决。有没有办法在编译时检测对未初始化变量的赋值?没有,TypeScript中没有一种标准化的方法来防止对未初始化变量的属性赋值
许多人会尝试通过单元测试或断言库捕获该错误,在设置属性之前验证对象是否存在 不,TS不能那样做。有充分的理由。假设您在文件a中声明,在文件b中设置,在文件c中使用
TypeScript无法知道您将先加载文件a,然后加载文件b,然后加载文件c。在运行时,您可能会首先加载文件c(使用脚本标记),但仍然会出现此错误 虽然确实有一些情况下它不能工作,但肯定有一些情况下它可以工作。
interface ITest {
Name: string
}
var t:ITest;
//var t:ITest = {Name:null};
t.Name = "hello";