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
¿Por qué el operador ternario da un error sin corchetes?

Tengo cuatro líneas de código como este:

 let postId = // <== maybe undefined or string; const sections = // <== maybe null or an array of sections with posts objects. postId = postId || (sections ? sections[0]?.posts[0]?.id : null); console.log(postId || sections ? sections[0]?.posts[0]?.id : null);

La tercera línea está funcionando y entiendo por qué: si postId es falso, calcule la parte derecha de una expresión entre paréntesis donde uso ternario con elemento de matriz opcional y parámetros de objeto opcionales.

Pero la cuarta línea me da un error:

 Uncaught TypeError: Cannot read properties of null (reading '0')

No entiendo por qué los corchetes son importantes en este caso.

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

0

la cuarta linea me da error

La razón detrás de esto es que su operador ternario ahora está trabajando en postId || sections Por lo tanto, rodee su declaración del lado derecho entre paréntesis para evitar que considere la variable del lado izquierdo como parte de la operación ternaria.

debería ser :

 console.log(postId || (sections ? sections[0]?.posts[0]?.id : null));
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