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

273
Visualizações
¿Por qué la desestructuración en booleano funciona en javascript?

por qué desestructurar un booleano está funcionando. Por ejemplo

 const condition = true const toto = { name: 'toto' } const other = { other: 'other', ...condition && toto } console.log({ other }) // { other: 'other', name: 'toto' } const falseCondition = false const otherWithoutToto = { other: 'other', ...falseCondition && toto } console.log({ otherWithoutToto }) // { other: 'other' }

En el caso de falso booleano, no agregamos propiedad, de lo contrario lo haremos. En realidad, está funcionando bien, pero alguien puede explicarme por qué es posible.

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

0

Lo que estás usando aquí no es la desestructuración , es la propagación de la propiedad del objeto. Requiere que la expresión del lado derecho (RHS) de ... se evalúe como un objeto o algo que se pueda convertir en uno (con excepciones para null e undefined ). Luego toma las propiedades enumerables propias del objeto ylas copia en el objeto que se está creando. En el caso de su ejemplo, pueden ocurrir dos posibilidades para el siguiente código:

 ...(condition && toto)
  1. condition es true , por lo que la expresión anterior se evalúa como el objeto toto . No se evalúa como un valor booleano, sino como el último valor verdadero, que en su caso es el objeto toto . La sintaxis de distribución de propiedades del objeto toma las propiedades enumerables propias del objeto y las agrega al objeto que se está creando.

  2. la condition es false , por lo que la expresión anterior se evalúa como el valor false . Esto significa que JavaScript trata el código anterior como ...false . Como false es una primitiva y no un objeto, JavaScript intenta convertirlo en uno envolviéndolo en un objeto booleano :

     ...new Boolean(false)

    ahora que el RHS de ... se ha convertido en un objeto, JavaScript toma las propiedades enumerables propias del objeto booleano y las agrega al objeto que se está creando. Como el booleano no tiene propiedades propias que sean enumerables, no se agrega nada al objeto creado.

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