有没有办法检查typescript中是否有未定义的对象?

有没有办法检查typescript中是否有未定义的对象?,typescript,Typescript,我曾读过一期文章,其中说使用T?作为查看类型是否为null |未定义的方法没有达成共识,这是一种耻辱。我还阅读了不使用null的建议,因此我在tsconfig中设置了“strictNullChecks”:true,,但通过下面的代码,TS显示blah可以是blah或undefined类型,因此我必须在使用属性之前检查它是否未定义。我知道,T?是不存在的(但愿它存在),但是是否有其他内置的方法来执行此检查,而不必在我的所有项目中的帮助器类中编写某些内容 interface Blah { m

我曾读过一期文章,其中说使用
T?
作为查看类型是否为
null |未定义
的方法没有达成共识,这是一种耻辱。我还阅读了不使用null的建议,因此我在tsconfig中设置了
“strictNullChecks”:true,
,但通过下面的代码,TS显示
blah
可以是
blah
undefined
类型,因此我必须在使用属性之前检查它是否未定义。我知道,
T?
是不存在的(但愿它存在),但是是否有其他内置的方法来执行此检查,而不必在我的所有项目中的帮助器类中编写某些内容

interface Blah {
    middleInitial?: string;
    age?: number;
}

class Student {
    fullName: string;
    constructor(public firstName: string, public lastName: string, public blah?: Blah) {
        var middleInitial = blah == undefined ? "" : blah.middleInitial;
        this.fullName = firstName + " " + middleInitial + " " + lastName;
    }
}

您只需在构造函数中这样写一行:

var middleInitial = (blah && blah.middleInitial) || "";

用同样的方法检查它在JS中是否未定义:
typeof blah==“未定义”