# TypeScript

> JavaScript con tipos agregados, para atrapar muchos errores antes de que el código corra.

- Nivel: Intermedio
- Temas: Software
- URL: https://tidbit.legios.com.ar/es/typescript/
- En inglés: [TypeScript](https://tidbit.legios.com.ar/typescript/)

**TypeScript** es un lenguaje de programación creado por Microsoft y lanzado en 2012. Es JavaScript más un agregado grande: los **tipos**. Podés indicar que una variable es un número, que una función recibe un texto o que un objeto tiene un `name` y un `email`. Todo programa válido en JavaScript también es TypeScript válido, así que los equipos lo pueden adoptar de a poco, archivo por archivo.

Los navegadores y Node.js ejecutan JavaScript, no TypeScript. Por eso, antes de correr, el compilador de TypeScript, `tsc`, revisa el código y después le saca los tipos, y queda JavaScript común. La revisión es la gracia: si pasás un texto donde se esperaba un número, llamás a una función que no existe o te olvidás de que un valor puede venir vacío, TypeScript te avisa mientras escribís, no cuando un cliente se choca con el bug.

En proyectos grandes eso cambia mucho. Los editores usan los tipos para autocompletar, saltar a las definiciones y renombrar cosas con seguridad en miles de archivos. Los tipos además funcionan como documentación que no se puede desactualizar. Por eso TypeScript se volvió lo normal en muchos equipos de web y de Node.js. Eso sí, los chequeos existen solo al compilar: los datos que llegan de afuera mientras el programa corre, como la respuesta de una API, igual hay que validarlos.

## Una analogía

Un corrector ortográfico, pero para la lógica de tu programa. No cambia lo que quisiste escribir y el lector nunca lo ve, pero te subraya los errores antes de imprimir.

## Para quedarse

- TypeScript es JavaScript más tipos estáticos opcionales.
- Se compila a JavaScript común; los tipos desaparecen al ejecutar.
- Atrapa muchos bugs en el editor y hace posibles el autocompletado y los refactors seguros.
- Los datos que llegan mientras corre el programa igual hay que validarlos.

## Para seguir leyendo

- [TypeScript (sitio oficial, en inglés)](https://www.typescriptlang.org/)
- [TypeScript en Wikipedia](https://es.wikipedia.org/wiki/TypeScript)

## Términos relacionados

- [Lenguaje de programación](https://tidbit.legios.com.ar/es/programming-language/): Un idioma escrito y preciso que usamos para darle instrucciones a una computadora.
- [Microsoft](https://tidbit.legios.com.ar/es/microsoft/): La empresa de Windows y Office, que hoy es igual de importante como nube con Azure.
- [JavaScript](https://tidbit.legios.com.ar/es/javascript/): El lenguaje de programación que corre en las páginas web y las vuelve interactivas.
- [Navegador web](https://tidbit.legios.com.ar/es/web-browser/): La app que trae páginas web desde internet y las dibuja en tu pantalla.
- [Node.js](https://tidbit.legios.com.ar/es/nodejs/): Una forma de correr JavaScript en servidores y computadoras, fuera del navegador.
- [Compilador](https://tidbit.legios.com.ar/es/compiler/): Un programa que traduce código fuente a instrucciones que la computadora corre directo.
- [Bug](https://tidbit.legios.com.ar/es/bug/): Un error en un software que hace que se comporte distinto de lo que se buscaba.
- [API](https://tidbit.legios.com.ar/es/api/): El menú de cosas que un programa le deja pedir a otro programa.
