Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

165
Vistas
Desestructuración de objetos: asignar valores nulos en una línea

Suponiendo que tengo un objeto como este

 foo = { a: 1, b: 2, c: 3 };

yo lo desestructuraria asi

 const {a, b, c} = foo;

Sin embargo, ¿qué ocurre si las claves a , b y c no existen?

 foo = null;

Esto no funcionará entonces

 const {a, b, c} = foo;

tendria que hacer algo como

 let a, b, c; if(foo) { a = foo.a; b = foo.b; c = foo.c; };

¿Hay alguna manera de hacer esto en una línea? Algo como

 const {a, b, c} = foo ? foo : null; // this is not working

null no es un objeto. (evaluando '_ref2.a')

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Cuando foo no es un objeto, tendrá que darle un objeto para que pueda ocurrir la desestructuración. Así que configúralo en un objeto vacío usando un 'o'. Ahora, si foo está definido, usará foo , si no está definido, usará el objeto predeterminado.

 const foo = undefined; const { a, b, c } = foo || {}; console.log(a, b, c);

Si desea valores predeterminados, configúrelos en el objeto.

 const foo = undefined; const { a, b, c } = foo || {a : 'a', b: 'b', c: 'c' }; console.log(a, b, c);

Si desea valores predeterminados si el objeto no los proporciona todos, puede establecer valores en la desestructuración.

 const foo = { a: 1}; const { a = "a", b = "b", c = "c" } = foo || {}; console.log(a, b, c);

about 4 years ago · Juan Pablo Isaza Denunciar

0

¿Qué pasa con la desestructuración de los parámetros predeterminados? Si foo pudiera ser indefinido set = foo || {} en la desestructuración para evitar excepciones

 let foo = {}; const {a = null, b = null, c = null} = foo; console.log('a:', a); console.log('b:', b); console.log('c:', c);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Funcionará como cabría esperar, las variables a b y c se crearán con el valor de undefined . esta es la alternativa cuando también se intenta acceder a una propiedad que no existe en un objeto determinado.

 const foo = {}; console.log(foo.a); // undefined const {a, b, c} = foo; console.log(a); // undefined console.log(b); // undefined console.log(d); // Uncaught ReferenceError: d is not defined

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda