Skip to content Skip to sidebar Skip to footer

Html5 Localstorage: Checking If A Key Exists

Why this does not work ? if(typeof(localStorage.getItem('username'))=='undefined'){ alert('no'); }; The goal is to redirect the user from the index page to the login page if

Solution 1:

Quoting from the specification:

The getItem(key) method must return the current value associated with the given key. If the given key does not exist in the list associated with the object then this method must return null.

You should actually check against null.

if (localStorage.getItem("username") === null) {
  //...
}

Solution 2:

This method worked for me:

if ("username"inlocalStorage) {
    alert('yes');
} else {
    alert('no');
}

Solution 3:

Update:

if (localStorage.hasOwnProperty("username")) {
    //
}

Another way, relevant when value is not expected to be empty string, null or any other falsy value:

if (localStorage["username"]) {
    //
}

Solution 4:

The MDN documentation shows how the getItem method is implementated:

Object.defineProperty(oStorage, "getItem", {
      value: function (sKey) { return sKey ? this[sKey] : null; },
      writable: false,
      configurable: false,
      enumerable: false
    });

If the value isn't set, it returns null. You are testing to see if it is undefined. Check to see if it is null instead.

if(localStorage.getItem("username") === null){

Post a Comment for "Html5 Localstorage: Checking If A Key Exists"