我试图了解如何使用默认参数对false值和null值进行解构。以下是我跑过的一些例子:
// #1
const person = { email: 'a@example.com' }
const { email = '' } = person
// email is 'a@example.com'
// #2
const person = { email: '' }
const { email = '' } = person
// email is ''
// #3
const person = { email: false }
const { email = '' } = person
// email is boolean false. why?!
// #4
const person = { email: null }
const { email = '' } = person
// email is null. why?!
我是否可以编写一个快捷方式来构造#3和#4的falsey和null值,以便我的电子邮件是空字符串?
答案 0 :(得分:21)
仅undefined
将导致默认初始化程序运行。如果您想要回退到所有虚假值的默认值,请使用旧的||
运算符:
const email = person.email || '';