我正在使用typescript
2.0.0 和--strictNullChecks
以及以下类型的警卫:
function isNotOk(value: any): value is null | undefined {
if (typeof value === 'number') {
return !isFinite(value);
} else {
return value === null || value === undefined;
}
}
使null
,undefined
,NaN
和Infinite
无效。我想要反过来:
export function isOk(value: any): value is not null | undefined {
return !isNotOk(value);
}
当然,这种语法不起作用。有没有一种已知的方法来实现这一目标?
答案 0 :(得分:9)
function isOk<T>(value: T | null | undefined): value is T {
return !isNotOk(value);
}