const isLogin = localStorage.getItem('loginInfos')
console.log(isLogin) // undefined
// but unbelievable!
const isLogin = localStorage.getItem('loginInfos')
console.log(!isLogin) // false
我尝试了很多次都找不到具体原因!
我无法重现您的问题。
除非您在调用之前存储了未定义的变量,否则您不会获得未定义的值。
我必须使用jsfiddle,因为SO不允许窗口存储
https://jsfiddle.net/mplungjan/4nsuk159/
let counter = 0;
function generateUniqueKey() {
const timestamp = Date.now();
counter++;
return `${timestamp}-${counter}`;
}
const key1 = generateUniqueKey();
const key2 = generateUniqueKey();
let isLogin1 = localStorage.getItem(key1);
console.log(isLogin1) // null
let isLogin2 = localStorage.getItem(key2)
console.log(!isLogin2) // true
localStorage.setItem(key1,'something');
isLogin1 = localStorage.getItem(key1)
console.log(isLogin1); // something
console.log(!isLogin1); // not (not falsy, e.g. true) = false
let somethingundefined;
localStorage.setItem(key1,somethingundefined);
isLogin1 = localStorage.getItem(key1)
console.log(isLogin1); // "undefined"
console.log(!isLogin1); // not (not falsy, e.g. "undefined") = false