Home > OS >  Null object is String type in localStorage
Null object is String type in localStorage

Time:06-01

I am coming from Java dev and new to javascript, can someone explains what is going on.

I am using localStorage to store my token in my browser.

localStorage.token = 'xxx'

When the users sign out, we remove the token, here is the code

localStorage.token = null

If we want to check wether the user is authenticated or not, we check the token

const isAuth = localStorage.token !== null

Here is the thing becomes weird to me. After I marked localStorage.token to null,

the result of localStorage.token !== null is still true !


I had done some investigation,

I logged the localStorage object and found out the token variable is "null" instead of null.

Here is my assumption.

When the browser needs to store the localStorage, it iterates inside the object fields, after finding the null object, it use toString to store the final form?

CodePudding user response:

Localstorage in the browsers work only on the string types

localStorage.getItem('someItem');
localStorage.setItem('someItem', 'string value');
localStorage.removeItem('someItem');

CodePudding user response:

give a value or Sovrascrivi the one present in the localstorage with the function set item, like code below :

localStorage.setItem('token' , 'your token here ');

and for access the value :

localStorage.getItem('token')
window.console.log("token :",localStorage.getItem('token'))

CodePudding user response:

Use localStorage methods for setting, getting and removing token.

Check this link for more details: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

And for checking weather the token exists or not you can do this:

const isAuth = !!localStorage.token

CodePudding user response:

You can use removeItem() to remove items from your localstorage.

localStorage.removeItem('token')

You can also use the function getItem() to retrieve the item.

localStorage.getItem('token')

This will return null when it doesn't exist.

Documentation

https://developer.mozilla.org/en-US/docs/Web/API/Storage/getItem

https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem

https://blog.logrocket.com/localstorage-javascript-complete-guide/

CodePudding user response:

Local storage can only save strings. That is a simple fact of life. This is why JSON.parse and JSON.stringify are synonymous with reading and writing from and to local storage. null is no exception.

  • Related