Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
311 views
in Technique[技术] by (71.8m points)

javascript - destructuring falsy and null with default parameters

I'm trying to understand how falsy and null values are destructured with default parameters. Here are some examples I've ran:

// #1
const person = { email: '[email protected]' }
const { email = '' } = person
// email is '[email protected]'

// #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?!

Is there a shortcut I could write to destructure falsy and null values for #3 and #4 so that my email is an empty string?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Only undefined will cause the default initialiser to run. If you want to fall back to your default for all falsy values, use the good old || operator:

const email = person.email || '';

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...