Característica donde las variables no tienen un tipo fijo y pueden cambiar durante la ejecución.
Lenguajes como Python o JavaScript permiten que una variable contenga diferentes tipos de datos.
// JavaScript - Tipado dinámico let variable = "texto"; // string variable = 42; // ahora es number variable = { a: 1 }; // ahora es object variable = [1, 2, 3]; // ahora es array // El tipo se determina en runtime function procesar(valor) { if (typeof valor === 'string') { return valor.toUpperCase(); } if (typeof valor === 'number') { return valor * 2; } return valor; } // Python - También dinámico x = 10 # int x = "hola" # str x = [1, 2, 3] # list // Ventajas: // ✅ Desarrollo más rápido // ✅ Código más flexible // ✅ Menos código boilerplate // Desventajas: // ❌ Errores detectados en runtime // ❌ Menos autocompletado en IDE // ❌ Necesita más pruebas // TypeScript agrega tipos estáticos a JavaScript let texto: string = "hola"; // texto = 42; // ❌ Error de compilación