¿Cómo puedo verificar si un artículo está configurado localStorage
? Actualmente estoy usando
if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) {
// init variable/set default variable for item
localStorage.setItem("infiniteScrollEnabled", true);
}
javascript
html
local-storage
Jiew Meng
fuente
fuente
Respuestas:
El
getItem
método en la especificación de WebStorage, devuelve explícitamentenull
si el elemento no existe:Así que puedes:
Ver esta pregunta relacionada:
fuente
localStorage
para encapsular esta pequeña prueba? Por ejemplolocalStorage.hasItem("infiniteScrollEnabled")
?Storage.prototype
objeto, pero como regla general, siempre recomiendo no modificar objetos que no le pertenecen , especialmente objetos host.Storage
interfaz dice específicamente que los valores son de tipoDOMString
. w3.org/TR/webstorage/#the-storage-interfacePuede usar el
hasOwnProperty
método para verificar estoFunciona en las versiones actuales de Chrome (Mac), Firefox (Mac) y Safari.
fuente
null
valor almacenado . Puede tenerlo"null"
, pero el código allí no se comportará mal, mientras que este fallará en lalength
clave.JSON.parse("null") === JSON.parse(null)
tuve una colisión.foo
existe, no si foo tiene un valor. Tengo esta situación, donde un evento click se dispara.setitem
con una lógica basada en getItem, pero no funcionará hasta que establezca el elemento, y no puedo configurarlo hasta que sepa el estado de foo (valor1 o valor2). En otras palabras, verifique las salidas foo y luego configúrelo en el valor1 si no lo hace sin sobrescribir accidentalmente el valor2.La forma más corta es usar el valor predeterminado, si la clave no está almacenada:
fuente
También puede probar esto si desea verificar si no está definido:
getItem es un método que devuelve nulo si no se encuentra el valor.
fuente
O
fuente
De verdad
Para falso
VERIFICAR EXISTENCIA
fuente
Debe verificar el tipo de elemento en el almacenamiento local
fuente
¿Cómo se puede probar la existencia de un artículo en
localStorage
? Este método funciona en Internet Explorer.fuente
try | catch
al analizar el artículo.¿Quizás sea mejor hacer un escaneo del plan?
fuente
La mejor y más segura forma en que puedo sugerir es esto,
Esto pasa por la
no-prototype-builtins
regla de ESLint .fuente
Lo he usado en mi proyecto y funciona perfectamente para mí.
fuente
la forma más fácil es
Cómo funciona
cuando llama a localStorage.test por primera vez, no contiene ninguna tienda en el objeto localStorage, por lo que devuelve desencadenantes de condición no definidos. después de que se activara, configuré una nueva variable y nuevamente verifiqué que contiene datos para que devuelva datos con verdadero en condición
fuente
Prueba este código
fuente