javascript – 反向TypeScript类型Guard

前端之家收集整理的这篇文章主要介绍了javascript – 反向TypeScript类型Guard前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用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);
}

当然,这种语法不起作用.有没有一种已知的方法来实现这一目标?

解决方法

我偶然发现了答案;仿制药.只是以相反的方式缩小:
function isOk<T>(value: T | null | undefined): value is T {
  return !isNotOk(value);
}

猜你在找的JavaScript相关文章