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

99
Visualizações
¿Cómo esperar un posible valor indefinido con notación de corchete de objeto doble?

Por ejemplo, dado:

 const foo = {name: 'john', age: 12} console.log(foo?.age);

Dado lo anterior, estamos salvaguardando usando ? en caso de que foo no tenga la propiedad age pero cómo se puede hacer en la siguiente situación (si es posible):

 const foo = {name: 'john', house: {color: 'white', garage: true }} console.log(foo['house']?['yard']

¿Cómo acceder a una propiedad, dentro de la house de la propiedad que podría estar indefinida usando paréntesis?

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Primero, tiene una gran comprensión del operador nulo seguro, cuando dice foo?.age no está salvaguardando el campo age sino el objeto foo en sí mismo, ejemplos:

  1. {a: 2}?.age y {a: 2}.age devuelven lo mismo, no se arrojará ningún error en ambos casos, solo se devuelve el valor undefined .
  2. undefined?.age y undefined.age son diferentes, el primero devolverá undefined mientras que el segundo arrojará un error.

Ahora, después de comprender de qué se trata el operador nulo seguro, para evitar que foo["house"] se lance porque foo podría no estar definido (no porque la propiedad de la casa no exista) simplemente use foo?.["house"] .

Si desea verificar la existencia de propiedad de la casa, puede hacer algo como esto:

 if(foo?.["house"]){ // here house exists so it's safe to read its value using foo.house }

O:

 if(foo?.hasOwnProperty("house")){ // the same thing, safe to access foo.house }
about 4 years ago · Santiago Trujillo Relatório

0

No se ve muy bien, pero es todo lo que tenemos.

 const foo = {name: 'john', house: {color: 'white', garage: true }} console.log(foo['house']?.['yard'])

about 4 years ago · Santiago Trujillo 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