var list = JSON.parse(localStorage.getItem('cmts') || '[]')

var list = JSON.parse(localStorage.getItem('cmts') || '[]')

请问 这里的 || 是什么意思?
为什么localStorage.getItem('cmts') 为Null 的时候,就返回了 [] 呢?

谢谢大家。

阅读 4.3k
2 个回答

这样写涉及到基础知识
1.优先级
括号里面的运算符的优先级会大于括号外面的优先级
所以 先执行
localstorage.getItem(“cars”)||"[ ]"
这段代码
这段代码是一个逻辑运算符非的判断式
如果localstorage.getItem("cars")有值就会返回该值
如果没有,取到的值为null,此时会将null隐式转换为false,返回第二个值
逻辑运算符非
前面的判断没有通过,就直接返回第二个值
前面的判断通过,就返回该通过的值

主要是为了容错吧,不然你就得用 try...catch了。这样可以确保没值的时候返回空数组[]而非抛异常

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