Desestructuración de falsey y nulo con parámetros por defecto.

Estoy tratando de entender cómo se desestructuran los valores falsey y null con los parámetros predeterminados. Aquí hay algunos ejemplos que he corrido:

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

¿Hay algún método abreviado que pueda escribir para destruir los valores de falsey y nulos para los números 3 y 4 para que mi correo electrónico sea una cadena vacía?

One Solution collect form web for “Desestructuración de falsey y nulo con parámetros por defecto.”

Solo undefined hará que se ejecute el inicializador predeterminado. Si desea volver a su valor predeterminado para todos los valores falsos, utilice el valor antiguo || operador:

 const email = person.email || ''; 
  • ¿Es posible usar Symbol.species para objects simples?
  • ¿Qué hace exactamente la function anónima de JavaScript f => f?
  • Realiza una llamada Api con promises javascript en recursión
  • devolver una promise de una function de ejecutor?
  • Symbol.toPrimitive vs Object.prototype.valueOf
  • Componente sin estado: debe devolverse un elemento React válido (o nulo)
  • ¿Cómo saber cuándo se resuelven todas las promises en un parámetro dynamic "iterable"?
  • Sintaxis de los parameters de descanso frente a la syntax de propagación
  • ¿Por qué debería usar las classs de ES6?
  • Hacer cumplir la inmutabilidad o la inmutabilidad parcial que no falla silenciosamente
  • ¿Puedo ejecutar un script JS de otro usando `fetch`?
  • Pasar opciones a las importaciones del module ES6
  • Fusiona dos objects con ES6
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.