Comment puis-je vérifier si un élément est défini dans localStorage
? Actuellement j’utilise
if (!(localStorage.getItem("infiniteScrollEnabled") == true || localStorage.getItem("infiniteScrollEnabled") == false)) { // init variable/set default variable for item localStorage.setItem("infiniteScrollEnabled", true); }
La méthode getItem de la spécification WebStorage renvoie explicitement null
si l’élément n’existe pas:
… Si la clé donnée n’existe pas dans la liste associée à l’object, cette méthode doit renvoyer null. …
Afin que vous puissiez:
if (localStorage.getItem("infiniteScrollEnabled") === null) { //... }
Voir cette question connexe:
Le moyen le plus court consiste à utiliser la valeur par défaut, si la clé n’est pas en mémoire:
var sValue = localStorage['my.token'] || ''; /* for ssortingngs */ var iValue = localStorage['my.token'] || 0; /* for integers */
Vous pouvez utiliser la méthode hasOwnProperty
pour vérifier cela
> localStorage.setItem('foo', 123) undefined > localStorage.hasOwnProperty('foo') true > localStorage.hasOwnProperty('bar') false
Fonctionne dans les versions actuelles de Chrome (Mac), Firefox (Mac) et Safari.
Vous pouvez également essayer ceci si vous voulez vérifier pour undefined:
if (localStorage.user === undefined) { localStorage.user = "username"; }
getItem est une méthode qui renvoie null si la valeur est introuvable.
Comment tester l’existence d’un élément dans localSotorage? celui-ci travaille dans Internet Explorer
Pour de vrai
localStorage.infiniteScrollEnabled = 1;
POUR FAUX
localStorage.removeItem("infiniteScrollEnabled")
CHECK EXISTANCE
if (localStorage[""infiniteScrollEnabled""]) { //CODE IF ENABLED }
if(!localStorage.hash) localStorage.hash = "thinkdj";
Ou
var secret = localStorage.hash || 42;
Vous devez vérifier le type de l’élément dans le localStorage
if(localStorage.token !== null) { // this will only work if the token is set in the localStorage } if(typeof localStorage.token !== 'undefined') { // do something with token } if(typeof localStorage.token === 'undefined') { // token doesn't exist in the localStorage, maybe set it? }
localStorage['root2']=null; localStorage.getItem("root2") === null //false
Peut-être mieux faire un scan du plan?
localStorage['root1']=187; 187 'root1' in localStorage true