ts中try catch变量捕获的问题

let a:string = 'wertyuiolgfdsxcvbnm';

function(){
    try{
        //  localStorage有时会undefined
        if(localStorage){
            token = localStorage.getItem('token')
        }
    }catch(error){
        token = token
    }
    console.log(token)
}

image.png
提问:当localStorage为undefined时,为什么在catch抛出错误时,token零时变量的值不是localStorage.getItem('token')的值,而是默认初始值

阅读 2.8k
2 个回答
let a: string = "wertyuiolgfdsxcvbnm";
let token = localStorage.getItem("token") || a;
console.log(token);

有可能此时的localStorage不是原生的那个localStorage,你是不是安装什么库了?
在try catch中抛错,有可能不是localStorage没取到抛错,而是localStorage中没有getItem这个方法导致的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏