Introduction To Local Storage

The Local Storage is an internal database created into the browser, which you can use to save data in a key-value format. Most popular and commonly used browser like Chrome, Firefox and Safari all support Local Storage. The data stored in local storage has no expiration data, so it will persist over closed browser window and session.

Local storage has a very simple set, retrieve and remove API, and the key-value pair is always of string type.

If you’re using Chrome or Firefox, you can access local storage easily by using the console. Use the localStorage object identifier.

And you can see the current content of the local storage through Application tab

The local storage can only be accessed when you go into the corresponding domain. The tab above is show when you access youtube.com site

Local storage methods

You can set data in local storage programatically by using the localStorage.setItem(key, value). Try it in your dev console:

localStorage.setItem('a', 'Mickey');
localStorage.setItem('b', 'Minnie');

The syntax for retrieving data is localStorage.getItem(key)

localStorage.getItem('a'); // returns Mickey
localStorage.getItem('b'); // returns Minnie

To delete a key-value pair, use localStorage.removeItem(key)

localStorage.removeItem('a'); // remove Mickey
localStorage.getItem('a');  // returns undefined

To delete all data in the current web domain, use localStorage.clear()

localStorage.clear();

Limitations of local storage

  1. localStorage is not a safe database, and you should never use it for storing sensitive data.
  2. It’s max storage size 5 MB. Never store large amount of data in it.
  3. It’s synchronous

The most important thing to ask before storing data in the local storage is “Can malicious hackers do something while impersonating as the user with this value?”

If other people can authorize purchase and login into app and API, then it musn’t be saved in local storage.

Our fellow developer Randall Degges suggest not using local storage at all, but I’d say its find to use for local projects when you’re learning about framework or library.

You’ll see me use it on some of my tutorials.

Take your skills to the next level ⚡️

I'm sending out an occasional email with the latest tutorials on programming, web development, and statistics. Drop your email in the box below and I'll send new stuff straight into your inbox!

No spam. Unsubscribe anytime.