开发者问题收集

如何在 TypeScript 中检查未定义

2017-05-01
606637

我正在使用此代码检查变量是否未定义,但它不起作用。

var uemail = localStorage.getItem("useremail");

if (typeof uemail === "undefined")
{
    alert('undefined');
}
else
{
    alert('defined');
}
3个回答

在 TypeScript 2 中,您可以使用 undefined 类型来检查未定义的值。

如果您将变量声明为:

let uemail : string | undefined;

那么您可以像这样检查变量 uemail 是否未定义:

if(uemail === undefined)
{

}
ashish
2017-05-01

从 Typescript 3.7 开始,您还可以使用空值合并:

let x = foo ?? bar();

这相当于检查是否为 null 或 undefined:

let x = (foo !== null && foo !== undefined) ?
    foo :
    bar();

https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#nullish-coalescing

虽然不完全相同,但您可以将代码编写为:

var uemail = localStorage.getItem("useremail") ?? alert('Undefined');
Paulus Potter
2020-01-29

您可以检查一下这个是否真实:

if(uemail) {
    console.log("I have something");
} else {
    console.log("Nothing here...");
}

去这里看看答案: 是否有一个标准函数来检查 JavaScript 中变量是否为空、未定义或空白?

希望这对您有帮助!

Motonstron
2017-05-01