Null对象是localStorage中的String类型



我是Java开发人员,刚接触javascript,有人能解释一下这是怎么回事吗

我使用localStorage在浏览器中存储我的令牌。

localStorage.token = 'xxx'

当用户注销时,我们删除令牌,下面是代码

localStorage.token = null

如果我们想检查用户是否经过身份验证,我们检查令牌

const isAuth = localStorage.token !== null

这是我觉得奇怪的事情。在我将localStorage.token标记为null后,

localStorage.token !== null的结果仍然正确!


我做了一些调查,

我记录了localStorage对象,发现token变量是"null"而不是null

这是我的假设。

当浏览器需要存储localStorage时,它在对象字段内迭代,在找到null对象后,它使用toString来存储最终形式?

浏览器中的Localstorage仅适用于字符串类型

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

给出一个值或用函数集项覆盖本地存储中存在的值,如下面的代码:

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

和访问值:

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

使用localStorage方法设置、获取和删除令牌

查看此链接了解更多详细信息:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage

检查标记是否存在,你可以这样做:

const isAuth = !!localStorage.token

您可以使用removeItem()从本地存储中删除项。

localStorage.removeItem('token')

您也可以使用getItem()函数来检索条目。

localStorage.getItem('token')

当它不存在时将返回null。

文档

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/

本地存储只能保存字符串。这是一个简单的生活事实。这就是为什么JSON.parseJSON.stringify是本地存储读写的同义词。Null也不例外。

相关内容

最新更新