使用默认参数解析falsey和null

时间:2016-09-16 00:01:32

标签: javascript ecmascript-6

我试图了解如何使用默认参数对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值,以便我的电子邮件是空字符串?

1 个答案:

答案 0 :(得分:21)

undefined将导致默认初始化程序运行。如果您想要回退到所有虚假值的默认值,请使用旧的||运算符:

const email = person.email || '';