如何在TypeScript中写一个typeof val === "undefined "帮助函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在TypeScript中写一个typeof val === "undefined "帮助函数?相关的知识,希望对你有一定的参考价值。

javascript中,我有以下函数。

function isUndefined(type) 
  return type === "undefined";

源: https:/stackoverflow.coma623201371283776

下面是一个被调用的例子。

var isRenderer = !isUndefined(typeof process) && process.type === "renderer";

我如何在TypeScript中重写该函数,并在调用后对类型缩小有同样的效果,就像我使用了 typeof process !== "undefined" 直接。

这是我最好的非工作尝试。

export function isUndefined<T>(type: T): type is "undefined" 
  return type === "undefined";

这个条件总是返回'false',因为'T'和'string'的类型没有重叠。

答案

如果你总是以(typeof variable)的方式传入变量,那么你总是会传入一个字符串,所以你可以设置输入参数的类型为字符串。

一个更好的解决方案可能是只传入变量,然后可以返回variable === undefined,而不是调用typeof。注意,这并不检查是否为null,只检查undefined。要同时检查null和undefined,你可以返回变量==null。

以上是关于如何在TypeScript中写一个typeof val === "undefined "帮助函数?的主要内容,如果未能解决你的问题,请参考以下文章

TypeScript keyof 和 typeof

[TypeScript] type、typeof、keyof

TypeScript中 typeof ArrayInstance[number] 剖析

在vue项目中写Typescript

TypeScript 中的“keyof typeof”是啥意思?

ts基本类型 typeof 和keyof