Fundamentos de TypeScript 🦆| #1: ¿Qué es TypeScript?
Tags: beginners, typescript, webdev, spanish
Published: 2022-01-02 16:02:15

## **Qué es TypeScript**
TypeScript es un **superset** o **superconjunto** de Javascript desarrollado y mantenido por Microsoft. Asimismo, TypeScript es un lenguaje pre-conpilado o tranpilador a código JavaScript.

El proyecto fue publicado por primera vez en el año 2012 siendo el principal precursor del proyecto Anders Hejlsberg.

![img](https://i.ytimg.com/vi/tmOmFfcA9us/maxresdefault.jpg)

*Anders Hejlsberg*

## **Principales características**

- **Tipado fuerte**: agrega tipos de variables, como en Java o C#.
- **Debugging**: permite encontrar errores en el código en desarrollo y no en tiempo de ejecución, esto quiere decir que no es necesario ejecutar el código para darnos cuenta que algo está mal.
- **Interfaces**: permite el uso de interfaces al más puro estilo de un lenguaje orientado a objetos.
- **Clases**: mejor administración de programación orientada a objetos.

## **Mitos de TypeScript**

- **TypeScript es diferente a JavaScript**

Falso. TypeScript no es un lenguaje diferente a Javascript, es un **superconjunto** de este. Entonces... ¿qué es un **superconjunto**? 🤔
Que TypeScript sea un superconjunto de JavaScript significa que este añade nuevas características al lenguaje y por ende lo vuelve más robusto. Dicho en otras palabras, TypeScript es como un JavaScript con esteroides, pero en el fondo sigue siendo JavaScript.

![type](https://dc722jrlp2zu8.cloudfront.net/media/cache/e3/a9/e3a9077a43e4613b3e1dfaa39cc3be97.webp)


- **TypeScript es más verboso que JavaScript**
Verdad. Es cierto que TypeScript sea más verboso puesto que se necesita escribir más código pero a largo plazo esto no es un inconveniente ya que las nuevas peculiaridades del mismo hacen que valga la pena usarlo.

- **TypeScript solo se usa en el frontend**
Falso. Si bien TypeScript se usa más en el lado del cliente, sobre todo en Angular (y más recientemente en React y Vue), no significa que solo se use en esta área. También puede ser usado en el lado del servidor sin ningún problema.

- **TypeScript es más rápido que JavaScript**
Falso. TypeScript compila a JavaScript. Recuerda que el navegador solo entiende código HTML, CSS y JavaScript; no es capaz (de momento) que comprenda TypeScript, por lo que todo nuestro código TypeScript pasa por un proceso llamado **transpiración de código** que convierte el código TypeScript a JavaScript. Dicho en otras palabras: **TypeScript es para desarrollo. JavaScript para producción.**

- **TypeScript es complicado de aprender**
Falso. TypeScript es sencillo de comprender siempre y cuando se tengan bases de JavaScript.
Recuerda:
> *Todo programa TypeScript es al mismo tiempo un programa JavaScript*

## **Instalación**
En internet existen infinidad de tutoriales para instalar TypeScript, no creo que sea necesario añadirle el mio, pero lo que sí puedo hacer es proporcionarte páginas para ejecutar código TypeScript sin necesidad de instalar nada, para comenzar me parece más que suficiente:

- [Playground oficial de TypeScript](https://www.typescriptlang.org/play?#code/PTAEBkHsGdUgjAVgUwC41AE2aAUgQwDd8BlAYwCcBLAB1VGkgDtQzIAbZMsq55WbKGLtIFfgFgAUCFD5GPfJgz5QAVxZNIAW3hjQACkit2RZAEoAdFKlsm0equjIKAQW6R19ALygA3lNBQJnwtZAAuUAAiAGkqZ2ZIgBoA0CpMCIAGZMkAXwBua2kwAAVVZGxYNh0qYIoRWBp8ChVKZCbQLUhseqwcTHx0WC0AQ+gpGQBzZqYK0ABPVm0aTkQYK0kbZntQGjjQH39JQNQ5mnColxpl5CSpfMLbbZpVCjIACzlkAHkKbAp9vwpSAAdyYzgijmcbjYnmygSoqGQWgiu2Q2XuGyKoBIVDUqCo7CoAC85KBUKoOh4nDsmipGtAmpwdqJQMgmDwtCoVPxUHJxmBGiZdKT9DQKGV4C1mDsXu9Pj8-rIKNRJWYZeV+EJnPzFp1QAAVU7IcjUOis+zDVJMREUMVs3kzIzkvBEUiUWj0KqQHX4mgYNBUACOZV5Smg6x1UFgwlEmueGpY+G4Goo1NsahYkQsSWZ-xEoGDyB1jWacHgiLB-3UQW0uj6OEcqiavF6GZUomwLEEVTF+DCmzsHGQFhEE1Fso+TgVzgsCKRFhOZzMBUxMhxNIZsGdnUhudZ7KonNbZEUdKaiN67FYAGfMFQJkZ7WIdT19GZoIl1bNCM4C2UDUaJoenAABmYhkDgIywDUIGiJyPDXkwOqMHWrCnjSFCIhYoAAJLWvaKhiPw7rwFQ-w8kY2CSqs-armAADCkC7Ny9iPiwJg7BQ14AB6Hio7AALdgvgn4nhQwxkDae5iRJNq0SAOqBM8ryTt8vwznOWgLkahQyIaZxAWaYpMaIPDMIRaAUJA+CEqE1pJlQiGyFeyz4HMUweDMyEIHowYAJdliggytgQxCGfQPLDF2VDQH6TBUPAnCwGy5qIjqTTvFQhBGAsZwUFoc6soQCLtM4VliFutCQFMwwgVQbCwAsP4UDqMFwQ5TmKPVvDBFe0A1GSbK-oWoDwI4YkcSlkCoFZDAIrwEZYvpxrumavLVH5LCQGBXA4DypIFdAnKwCB6hmb1aSKHGtIvsoyrIBM9TYS4wYCaAHwLOoXL3Y9Rjpow+ZMGU9ilh2bI6t2SyloITQqtyLB+ewi2PPQNnsNOqYAgA2spcpTupFAALorjq670qSfrkQeR4w+w6MEx+X6agy8DDf+EhYtWsMPfmlMjRxbX5R1LA2gVwSLCwWOE9hpQamMWJJhBir8XS1ChKD6ksI4+COqAPRsCpaCaum6g6kJd4QQYVRsiSuspRBVmWA8Wz0HVqaoBjAJoxj0BYxkxMDgDw6jvobv2Bjs6Ilpi7mCTWIAKri7BQvOTawT4sQrYIBWv7VggQWPrADIno6Or6Omfo0GqPTIJwdnBd0SpiL9z1Xh8Dv5k4Oq14eNTcle+doJRtdNzzOUMPWhBlOwP6sgPSBD+sMguKlRjUkydMhCoWiqLy5FXtzv2fnz-4ntU-EwBDAwYNAqjwHMSb2pqnYzcPoCI8jLvMlc5QAGJkeHAmXs6Y+wsJXN8cdl5vFEFyEBDNUqWmIGQASkBsIAFld7tB6P0YK8ZBBOBaliAAX-iFytIOiqDxosTcx94htlAMnGmOAxCYEoWRPW+AdQ9hWJdTA+4ySOFGp8AQOAyC3nvIXIqJU8zb0wQhJgS8wDLXCqBcCOBKZwBmmeTCDYk7tVbNgMgJhmiEJkFzH6+Z8EcCMJwSSLwVD6DEIoZg7A5hmFojqeiTiMxkiqkIhkSh+EcUYSoQQX04Ca2PFDPsUgY6gFKCpeUQCfAx22jKRJ+M-iQIYt48xzdLE4ABjYrg5JoY4GvJrZ+ojomB3oE4pQTBXE+wiPUlxCwEl4zUn8KW2NcaqQxgHOioAACFJABIAEJQAAFFYDVj9GwDooxjziIfHNLsqh+jhlAAACTcqwJsr8dRA2QMQSoMBST4FevJYAik4kdP6UAgAtKAAAIlwYxKhqzHOyr4v0rZlGrVQIo25Ro0nPPjgyOec17BIlCTgGCzg2QKFbL6DAJYWK8kSrtUxYBAh4vxVC1FEt-F7XYlKOwDoLwjWpOTWQEt8RA2FsCrE6TOme2eV8cscQwQcKEM2fAWLWUPMVAsJkFsiwsoJVKglKgAWmnoCNfa5peUhJRV0DA9RFLSu1YFIeyUWAj0PvmMGqZmUyFAK0xpCxnkzIvIPdANYdjOAKheHevJ5GfnCT+Ikf4JXmp1YENM3iR62ArGkYeB8LFr2cJafqSI7RaoDSPQ6nQzVgBcNA0s-UrQVl5LAduv5K6tktU0hmn45UehfCcnWe9LTVjKqIRaJa5igPAcuXSJQyizG1v8Zt-D0CBKJYIdgqgJhNH4J+TUpssTzKMFBVs-V7K8WStxLRtDZrGUpudWRcpkIPReLw2QFseo2UWjIWWswWa-nnShPQzbrmBGeW8VAqAaDQDCCAYEX7tJnGgICkwTAJgWFEBMYASgyDQGAB8GY8BICQAANbABqDaECj9wzPq0OwAAxM2x5m7nD4g5uap9L630fuAJKBkzQgUTARLBhD4ZeDABjn++VwBQ32jA5ACDzGjSQebRYDD7AO3zCZmc60NQmz-HwHaGY3LAm3pwKFN08r5g6grWaFKI9kAoC0MsNePkcCnQPHwd93duIhGuGEYzkkerywUliL4c0-xxAqgwAV16lmKatG6gVBJeEPuQBZvTnAwiHl86RQkJwgA)

- [Stackblitz, un editor de código online](https://stackblitz.com/)

Por ahora toda esta información básica basta y sobra para darte un panorama genérico de lo que es TypeScript. En posteriores post veremos temas más complejos y a profundidad.

## **Conclusiones**
- TypeScript es un **superset** o **superconjunto** de Javascript desarrollado y mantenido por Microsoft.
- TypeScript es muy similar a JavaScript.
- Entre sus principales características se encuentran: tipado fuerte, facilidad de debugging, uso de interfaces y clases.
- TypeScript se usa tanto en el frontend como en el backend.
- TypeScript no es más rápido que JavaScript.
- TypeScript no es complejo de aprender.

---

## **Referencias**
- https://es.wikipedia.org/wiki/TypeScript
- https://tutorialesenpdf.com/typescript/

![end](https://media.giphy.com/media/3oFzmqN1xHwaEXGl7q/giphy.gif)