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

118
Visualizações
Encadenamiento opcional con asignación

ES16+ ofrece una buena abreviatura obj.someMethod?.() para llamar a someMethod si existe en el objeto de llamada.

Al estar mimado con este azúcar de codificación, también me gustaría asignar un valor a la propiedad si existe, algo como obj?.someProp = 42 (lo que conduce a una asignación no válida de la mano izquierda).

Me gustaría hacerlo con cualquier objeto (principalmente conjunto de datos de HTMLElements). ¿Alguna idea de cómo acortar esto?

if(obj?.hasOwnProperty("someProp")) obj.someProp = 42

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

0

Puede utilizar el operador de asignación nulo lógico . Sin embargo, no te ayudará si obj no está definido:

 if (obj) obj.someProp ??= 42;
about 4 years ago · Juan Pablo Isaza Relatório

0

bueno, puedes hacer algo como:

 obj && (obj.someProp = 42)

Pero esto no creará el obj para ti.

Sin embargo, aunque no se pregunta, ¿por qué no simplemente desestructurar?

 obj = {...(obj || {}), someProp: 42}
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