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

212
Visualizações
toma de decisiones del operador de propagación de javascript

myfunction toma el objeto de una persona como entrada y devuelve un nuevo objeto que contiene el nombre, el tamaño del apellido y el peso de la persona. Si no se proporcionó el peso o el tamaño en el objeto de entrada, no debería estar presente en el objeto de salida

 function myFunction(obj) { return { fn: obj.fn, ln: obj.ln, ...(obj.size && { size: `${obj.size}cm` }), ...(obj.weight && { weight: `${obj.weight}kg` }), }; } myFunction({ fn: 'Lisa', ln: 'Müller', age: 17, size: 175, weight: 67 })

No puedo entender cómo funciona ...(obj.size && { size: ${obj.size}cm }),

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

0

Puede crear objetos condicionalmente con los valores (si están presentes), u objetos vacíos (si no están presentes), luego (incondicionalmente) distribuirlos en el objeto resultante:

 function myFunction(obj) { const size = obj.size ? { size: `${obj.size}cm` } : {}; const weight = obj.weight ? { weight: `${obj.weight}kg` } : {}; const {fn, ln} = obj; return {fn, ln, ...size, ...weight}; }

Alternativamente (y quizás un poco menos complicado), puede crear primero el objeto de resultado y luego establecer condicionalmente los valores de propiedad:

 function myFunction(obj) { const {fn, ln} = obj; const result = {fn, ln}; if (obj.size) result.size = `${obj.size}cm`; if (obj.weight) result.weight = `${obj.weight}kg`; return result; }
about 4 years ago · Juan Pablo Isaza Relatório

0

Esto funciona debido a la " evaluación de cortocircuito " con el operador && .

Si el primer operando es falso, nada se "esparcerá" en el objeto literal. Si no es falso, el objeto {tamaño: ${obj.size}cm } se distribuirá en el objeto literal devuelto.

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