Le typage dynamique est un caractéristiques d'un langage de programmation (comme JavaScript) où l'interpréteur attribue aux variables un type lors de l'exécution en fonction de la valeur qu'elles possèdent à ce moment.
Cela consiste à laisser l'ordinateur réaliser cette opération de typage « à la volée », lors de l'exécution du code. Là où des langages statiquement typés (comme C++) analysent les types en général lors de la compilation du programme.
Bien que cela fournisse une plus grande flexibilité, cela n'est pas sans coûts !
La grande flexibilité que permet le typage dynamique se paye généralement par :
- On observe une consommation de mémoire accrue correspondant à l'encodage « à la volée » du type dans la valeur ainsi que des performances sensiblement inférieures car il faut exécuter des tâches supplémentaires.
- Les erreurs de cohérence de type n'apparaissent que lors de l'exécution de la ligne de code concernée, et non dès sa compilation, ce qui ralenti la détection des erreurs.
- Une moins bonne maintenabilité du code source de manière générale, notamment du fait qu'on ne peut pas s'assurer à l'avance du type d'une variable.