Diccionario

Tipado estático y dinámico

Cómo comprueba un lenguaje los tipos de datos: antes de ejecutar (estático, como Java o TypeScript) o mientras se ejecuta (dinámico, como Python o JavaScript).

Con tipado estático, cada variable tiene un tipo conocido al compilar y el compilador avisa si mezclas tipos incompatibles. Con tipado dinámico, los tipos se comprueban mientras el programa se ejecuta, así que el error aparece solo al llegar a esa línea.

Otra cosa distinta es si el lenguaje convierte tipos por su cuenta (tipado débil, como JavaScript al sumar "2" + 1) o se niega (tipado fuerte, como Python).

Un ejemplo

En TypeScript, pasar un texto a una función que espera un número se marca en rojo en el editor; en JavaScript el fallo solo aparece al ejecutar.