function readProperty(property) { console.log(localStorage[property]) //Alerts “null” if(localStorage[property] == null) { console.log('Null chek') return false; } return localStorage[property]; }log da como resultado "null", pero 'if()' no funciona. Intento con ===, tampoco funciona. Ayuda por favor.
UPD: Gracias a todos, este cambio me ayudó if(localStorage[property] == 'null')
Las claves y los valores almacenados con localStorage siempre tienen el formato de cadena UTF-16, que usa dos bytes por carácter. Al igual que con los objetos, las claves enteras se convierten automáticamente en cadenas.
https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
Probar:
localStorage[property] === 'null'Aunque: console.log(localStorage[property]) puede informar null , el valor real no está undefined .
Entonces, en su declaración if , si prueba contra undefined , obtendrá una coincidencia.
Sin embargo, mejor aún, solo prueba la existencia o no existencia de un valor con:
if(localStorage[property])... // Tests for any "truthy" valueo
if(!localStorage[property])... // Tests for any "falsey" valueBueno, no sé si está tratando de usar el almacenamiento local global o si es una variable definida en su código.
Si está utilizando la API localStorage , debe comprobar si existe una clave como esta...
if (!localStorage.getItem("my-item")) { console.log("item doesn't exist."); } El método .getItem() devuelve null cuando la clave no está definida, ¡así que verifique usando ! o item !== null .
Referencia de
.getItem()de MDN, https://developer.mozilla.org/en-US/docs/Web/API/Storage/getItem .