Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

172
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda