解构赋值 给了 默认值 后边会被 obj 里的null 覆盖掉吗?

const { list = [] } = res.data || {};
list.length && (xxxxx)

报错

Uncaught (in promise) TypeError: Cannot read properties of null (reading 'length')

阅读 2.1k
2 个回答
let res = { data: { list: null } };
let { list = [] } = res.data || {};
list = list || [];
console.log(list); // 输出:[]

会,但是如果是 undefined 就不会了

默认值
每个解构属性都可以有一个默认值。当属性不存在或值为 undefined 时,将使用默认值。如果属性的值为 null,则不使用它。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题