请查看代码here

interface ITest {
    Name: string
}

var t:ITest;
//var t:ITest = {Name:null};

t.Name = "hello";


这是一个从未初始化的运行时错误,可以通过取消注释该行来解决。有没有一种方法可以在编译时检测对未初始化变量的赋值?

最佳答案

不,TypeScript中没有标准化的方法来防止分配给未初始化变量的属性。

许多人会尝试通过单元测试或断言库来捕获该错误,该库将在设置属性之前验证对象是否存在。

09-20 23:17