Kev*_*vin 16 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?!
Run Code Online (Sandbox Code Playgroud)
有没有我可以编写的快捷方式来构造#3和#4的falsey和null值,以便我的电子邮件是空字符串?
Ber*_*rgi 29
只会undefined导致默认初始化程序运行.如果要回退到所有假值的默认值,请使用旧的||运算符:
const email = person.email || '';
Run Code Online (Sandbox Code Playgroud)