我正在使用这样的解构:
const { item } = content
console.log(item)
但是我应该如何处理 content === undefined
这会引发错误?
“旧”方式如下所示:
const item = content && content.item
因此,如果 content
未定义 -> item
也将是未定义的。
我可以使用解构做类似的事情吗?
原文由 user3142695 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果
content
是一个虚假值,您可以使用 短路评估 来提供默认值,在这种情况下通常是undefined
或null
。一种不那么惯用的( 见此评论)方法是在解构之前将内容传播到一个对象中,因为
null
和undefineds
值被忽略。如果你正在解构函数参数,你可以提供一个默认值(示例中的
= {}
)。注意: 仅当解构参数为
undefined
时才会应用默认值,这意味着解构null
值将引发错误。如果输入对象不包含该属性,甚至可以为
item
属性设置一个默认值