Javascript 有没有办法避免localStorage.getItem()的key的未定义值?

Javascript 有没有办法避免localStorage.getItem()的key的未定义值?,javascript,reactjs,frontend,Javascript,Reactjs,Frontend,在我的本地存储器中有以下密钥对值-仪器BTX(密钥,值)。我从本地存储中手动删除了该值。现在,该键的值未定义。 我编写此条件是为了避免未定义的值,但它不起作用。 这里的问题是,尽管值未定义,因此应该执行else块,但在所有可能的情况下,都会执行if块 第一种方式: if(localStorage.getItem("instrument")){} else {} 第二种方式: if(!!localStorage.getItem("instrument"))

在我的本地存储器中有以下密钥对值-仪器BTX(密钥,值)。我从本地存储中手动删除了该值。现在,该键的值未定义。 我编写此条件是为了避免未定义的值,但它不起作用。 这里的问题是,尽管值未定义,因此应该执行else块,但在所有可能的情况下,都会执行if块

第一种方式:

if(localStorage.getItem("instrument")){}
else {}
第二种方式:

if(!!localStorage.getItem("instrument")){}
else {}
第三条道路:

if(localStorage.getItem("instrument")!==undefined){}
else {}
试试这个

if(localStorage.getItem("instrument")!=null){
// Do Something here
}else{
// Do Something Here
}

希望它能工作:)

您指定了两种不同的方法来确定值是否为falsy,以及一种检查值是否未定义的方法。那么你的问题是什么呢?嗨@RobbyCornelissen,在所有这些情况下,如果block正在运行,则应该运行else block。localStorage中是否有空对象?您可能期望空对象是虚假的,但事实并非如此
Object.keys(obj).length>0
可以进行检查。如果
if
阻塞,则没有一个
块检查该值是否未定义。他们都会检查值是否为未定义的/falsy。@RobbyCornelissen您能帮我解决这个问题吗?