TypeScript
JavaScript con tipos comprobados antes de ejecutar, que desaparecen al compilar.
Microsoft lo publicó en 2012. La decisión de diseño clave fue ser un superconjunto: todo JavaScript válido es TypeScript válido, así que se puede adoptar archivo a archivo en lugar de reescribir el proyecto.
Los tipos existen solo en tiempo de compilación; el resultado es JavaScript corriente y no hay comprobación en ejecución. Por eso los datos que llegan de una API deben validarse igualmente — el tipo declarado es una promesa, no una garantía.