【发布时间】:2021-12-28 08:53:42
【问题描述】:
解构赋值不适用于一个对象中的字段持有一个假值,如下:
let { aaa = 123 } = { aaa: null }
console.log(aaa) // null
那么,如何在对象解构赋值中实现||= 以实现该字段的破坏默认值?像这样:
let { aaa ||= 123 } = { aaa: null }
console.log(aaa) // 123
// it equals to
// let aaa = ({ aaa: null }).aaa || 123
【问题讨论】:
-
你不能那样做。
-
“解构赋值不适用于一个对象中的字段持有虚假值” -
null仍然是一个值,因此它按预期工作。您的要求不适用于解构。 -
let { aaa } = { aaa: null || 123 }。否则,您必须使用您的评论版本。 Default values 仅适用于undefined