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

156
Visualizações
¿Puedo confiar en Typescript cuando trato con una referencia a un elemento DOM?

La siguiente función obtiene una referencia a un elemento DOM y luego hace cosas:

 function getElementAndDoStuff() { // element: HTMLElement | null const element = document.getElementById('id'); if(!element) throw new Error('Error.'); // element: HTMLElement element; }

Después de la línea de lanzamiento, TypeScript considera que el element es un HTMLElement , sin embargo, el elemento puede desaparecer del DOM en cualquier momento, entonces, ¿es seguro confiar en TypeScript?

¿Incluso si en lugar de acceder al element justo después de la línea de lanzamiento, ponemos llamadas de función aleatorias y asyn/await en el medio?

¿Hay casos en los que no es seguro confiar en TypeScript?

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

0

Es seguro confiar en él, porque esté o no en el DOM, seguirá siendo un HTMLElement.

 const element = document.querySelector('div'); console.log(element instanceof HTMLElement); element.remove(); console.log(element instanceof HTMLElement);
 <div>div</div>

Si el elemento no está adjunto al DOM e intenta hacer algo que requiere un elemento actualmente en el DOM, recibirá una advertencia al respecto. Por ejemplo, no podrías hacer

 const parent = document.querySelector('parent'); parent.appendChild(element);

sin cambiarlo a algo como

 const parent = document.querySelector('parent'); if(!parent) throw new Error('Error.'); parent.appendChild(element);

¿Incluso si en lugar de acceder al elemento justo después de la línea de lanzamiento, ponemos llamadas de función aleatorias y asyn/await en el medio?

Sí, eso es seguro, siempre y cuando la variable nunca se reasigne ; nunca se puede mutar de un HTMLElement a otra cosa, por lo que mantenerlo escrito como tal, sin importar qué otro código se ejecute, es seguro.

¿Hay casos en los que no es seguro confiar en TypeScript?

Por lo general, hay casos extremos en cada faucet de la programación. Nada es 100% perfecto. TypeScript, al ser escrito por humanos, tiene errores . Pero dado el tiempo que se ha trabajado, se han solucionado muchas cosas, y la mayoría de las que aún existen son relativamente inusuales de encontrar en el proceso normal de escribir un guión.

En mi experiencia, los problemas de TypeScript son mucho más frecuentes en la línea de que TypeScript no puede inferir un tipo correctamente sin un poco de ayuda adicional del programador, a través de una afirmación de tipo o protección de tipo o algo así. Yendo al revés, un tipo que es A a pesar de que TypeScript infiere que es B y definitivamente no A, es mucho, mucho más inusual en una base de código decente (que, por ejemplo, no arroja any s y as s liberalmente) . He escrito una cantidad decente de TS y no puedo recordar la última vez que me encontré con ese problema, o incluso si alguna vez lo tuve. Con frecuencia hay advertencias de tipo falso positivo y muy rara vez inferencias de tipo falso negativo.

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