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 || ''; 
  • El iterador personalizado devuelve una matriz vacía
  • ¿Por qué especificar una producción por separado para el operador de asignación con el símbolo `=` literal en vez del símbolo `AssignmentOperator`
  • ¿Cómo se llama esto en javascript? ({nombre, valor}) => <span> </ span>
  • ECMAScript 6 funciones de flecha
  • ¿Escribes la testing unitaria más básica en Angular 2?
  • Importación de moment-timzone y moment-range con webpack (Babel / ES6)
  • ¿Se declaran variables con let o const no izadas en ES6?
  • Renderice contenido dinámicamente de una function de map de matriz en React Native
  • Concatenación del module ES6
  • constructor innecesario en reactjsr class
  • v8 proxy ReferenceError
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.