Null对象在localStorage中是String类型
Null object is String type in localStorage
我来自 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时,会在object字段里面迭代,找到null
对象后,用toString
来存储最终的形式?
使用 localStorage 方法设置、获取和删除令牌。
查看此 link 了解更多详情:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
要检查令牌是否存在,您可以这样做:
const isAuth = !!localStorage.token
您可以使用 removeItem() 从本地存储中删除项目。
localStorage.removeItem('token')
您还可以使用函数 getItem() 来检索项目。
localStorage.getItem('token')
这将 return 当它不存在时为 null。
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/
本地存储只能保存字符串。这是生活中一个简单的事实。
这就是为什么 JSON.parse
和 JSON.stringify
是读写本地存储的同义词。
null也不例外。
给一个值或用函数集项覆盖本地存储中存在的值,如下代码:
localStorage.setItem('token' , 'your token here ');
访问值:
localStorage.getItem('token')
window.console.log("token :",localStorage.getItem('token'))
浏览器中的本地存储仅适用于字符串类型
localStorage.getItem('someItem');
localStorage.setItem('someItem', 'string value');
localStorage.removeItem('someItem');
我来自 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时,会在object字段里面迭代,找到null
对象后,用toString
来存储最终的形式?
使用 localStorage 方法设置、获取和删除令牌。
查看此 link 了解更多详情:https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
要检查令牌是否存在,您可以这样做:
const isAuth = !!localStorage.token
您可以使用 removeItem() 从本地存储中删除项目。
localStorage.removeItem('token')
您还可以使用函数 getItem() 来检索项目。
localStorage.getItem('token')
这将 return 当它不存在时为 null。
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/
本地存储只能保存字符串。这是生活中一个简单的事实。
这就是为什么 JSON.parse
和 JSON.stringify
是读写本地存储的同义词。
null也不例外。
给一个值或用函数集项覆盖本地存储中存在的值,如下代码:
localStorage.setItem('token' , 'your token here ');
访问值:
localStorage.getItem('token')
window.console.log("token :",localStorage.getItem('token'))
浏览器中的本地存储仅适用于字符串类型
localStorage.getItem('someItem');
localStorage.setItem('someItem', 'string value');
localStorage.removeItem('someItem');