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

194
Visualizações
Desestructuración multinivel y asignación de valor por defecto a un objeto de primer nivel

Estoy tratando de desestructurar la respuesta de la API. la respuesta se parece a la siguiente. Solo a y b se utilizarán en el programa.

 response = { data: { someData: { a:1, b:2 } } }

const {data: { someData: { a,b } } } = response

Ahora, si los datos no existen en la respuesta, hay posibilidades de que la aplicación se rompa. Quiero establecer el valor predeterminado para data y someData . ¿Hay alguna manera de establecer el valor predeterminado?

Probado : pero arrojando un error de pelusa como un token inesperado

const {data= {}: { someData = {}: { a,b } } } = response

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El valor predeterminado va al final, no inmediatamente después de la variable.

Y necesita tener el objeto anidado someData: para proporcionar el valor predeterminado allí.

 const response = {}; const {data: {someData: { a,b } } = {someData: {a:0, b:0}} } = response; console.log(a, b);

about 4 years ago · Juan Pablo Isaza Relatório

0

Debe proporcionar los valores predeterminados como se muestra a continuación:

 const {data: { someData: { a, b } = {} } = {} } = response;

Este ejemplo en los documentos de MDN muestra que el valor predeterminado debe estar al final, no inmediatamente después del nombre de la propiedad.

Si la propiedad desempaquetada no está undefined , el valor predeterminado se usará como destino para la desestructuración anidada.

Ejemplo:

 const response = { data: {} }; const {data: { someData: { a, b } = {} } = {} } = response; console.log(a, b);

Otra opción es usar el encadenamiento opcional que, en mi opinión, es un mejor enfoque aquí para la legibilidad del código:

 response?.data?.someData?.a
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