如何从localStorage中获取一个名为"keyq"的项,并尝试解析它作为一个JSON对象。
this.userToken = JSON.parse(localStorage.getItem("keyq"))
? JSON.parse(localStorage.getItem("keyq")) : {};
从localStorage中获取一个名为"keyq"的项,并尝试解析它作为一个JSON对象。如果解析成功,则使用该对象;如果失败(例如,如果"keyq"不存在或不是有效的JSON字符串),则使用一个空对象{}作为默认值。
this.userId = JSON.parse(localStorage.getItem("keyq"))?.userId;
- JSON.parse(localStorage.getItem(“keyq”)): 同上,尝试从localStorage获取并解析"keyq"的值。
?.
这是可选链(Optional Chaining)操作符。它允许你读取位于连接对象链深处的属性的值,而不必显式地验证链中的每个引用是否有效。如果尝试访问的属性不存在,表达式短路计算结果为undefined。
在这里,它检查解析后的对象是否存在,并且是否有一个名为userId的属性。如果存在,则this.userId被赋值为该属性的值;否则,this.userId被赋值为undefined。