如何从sessionStorage的user字段中提取JWT令牌的更简洁JavaScript实现
优化sessionStorage提取JWT令牌的实现方案
最简洁的一行实现
你可以直接用下面的单行代码实现同等效果,同时内置了边界异常兼容:
const token = JSON.parse(sessionStorage.getItem('user') || '{}')?.token
实现说明
- 用
|| '{}'兜底sessionStorage.getItem('user')返回null的场景,降低后续解析异常概率 - 用可选链操作符
?.判断解析后的对象是否存在token属性,即使user存储内容格式异常或者没有token字段,也不会抛出类型错误,只会返回undefined
可选的增强写法
如果需要给token设置兜底默认值,可以搭配空值合并操作符使用:
// 未获取到token时默认返回空字符串,可根据需求修改默认值 const token = JSON.parse(sessionStorage.getItem('user') || '{}')?.token ?? ''
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

