Sha*_*non 3 javascript undefined
我是JavaScript的新手,并且遇到了一个看似明显的问题.
const item = sessionStorage.getItem('item'); // undefined
if (item) {
return item;
}
Run Code Online (Sandbox Code Playgroud)
在Chrome调试器中,我可以看到该项目是未定义的.我希望条件失败.令我惊讶的是,它正在评估为真.
我以为我已经测试了这个.为什么它会在有条件的情况下回归?
我遇到过其他检查,例如如何在JavaScript中检查"未定义"所推荐的检查?.但是......为什么我要为这样一个简单的检查做一些甚至远程"复杂"的事情呢?上面的方法看起来如此简单和优雅,我不愿意失去它.
我也在https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage上的示例中看到了这种方法.
Pau*_*aul 10
你没有undefined从sessionStorage 获得值,而是字符串"undefined",就像任何其他非空字符串一样真实.
我知道你没有获得价值,undefined因为这是不可能的.sessionStorage.getItem只能返回一个字符串或null.另请注意,它setItem会将其参数强制转换为字符串,因此sessionStorage.setItem('item', undefined)将item设置为字符串"undefined".
如果要删除项目,则应使用sessionStorage.removeItem('item');而不是将其设置为undefined.