如何以简单的方式检查TypeScript中对象的属性是否可为空?例如
export default interface UserDto{
ID?:int;
USER_NAME?:string;
FIRST_NAME?:string;
LAST_NAME?:string;
USER_ROLE?:string;
TEAM?:string;
IS_ACTIVE?:Boolean;
CREATE_DATI?:DateTime;
UPDATE_DATI?:DateTime;
PASSWORD?:string;
}
这里的USER_ROLE属性可以为空。我如何在if查询中将其作为可空或不可空返回给我
2条答案
按热度按时间lf5gs5x21#
如果我理解正确的话,你应该写一个
if
语句来检查对象的属性是否是optionnal(所以不一定是undefined,但是在类型声明中定义为optionnal)。这是不可能的,因为类型在运行时不存在。
你所能做的就是检查值,或者硬编码可选键的名称,并在你的条件中使用它。
krugob8w2#
在运行时,这是不可能的,因为所有类型都在编译时被删除(请参阅 “什么是类型擦除?“).
但是你可以在编译时使用条件类型来检查
UserDto
键是否是可选的。TypeScriptPlayground