Introducción a TypeScript

¿Qué es TypeScript?

Elegir TypeScript como lenguaje de programación es una excelente decisión ya que nos permite construir software mas robusto. Posiblemente ya hayas escuchado que TypeScript es una variante de JavaScript con características que permiten trabajar de mejor forma con este lenguaje. Por ello es importante tener en cuenta que ambos JavaScript (JS) como TypeScript (TS) tienen una relación estrecha como lenguajes de programación, y que es importante entender JS para poder entender TS.

¿Qué es JavaScript?

JavaScript también conocido como ECMAScript inicio su vida como un lenguaje de programación enfocado en los navegadores. Cuando fue creado se utilizó para crear bloques de código que permitieran dar cierto nivel de interactividad a las páginas web. Sin embargo en sus inicios los navegadores eran software bastante lento por lo que agregar mucha interactividad no era recomendable. Con el tiempo tanto los equipos de cómputo, como los navegadores y los intérpretes de lenguajes como JavaScript han evolucionado, y hoy podemos crear desde páginas web sencillas hasta complejas aplicaciones en JavaScript.

Ademas de evolucionar en el navegador, JavaScript también lo ha echo en otros rubros, hoy es posible ejecutar JavaScript dentro de un sistema como nodejs y crear código destinado a la parte del backend. El poder ejecutar JavaScript en cualquier entorno hace del lenguaje una opción muy atractiva para crear aplicaciones multiplataforma al punto que hoy en día muchos programadores eligen JavaScript como su opción predilecta para todo su stack de programación.

En resumen, JavaScript ha evolucionado de ser un lenguaje del navegador a un lenguaje de multipropósito en el cual se pueden escribir miles de líneas de código. Como cualquier lenguaje de programación tiene sus pros y sus contras. Por ejemplo las siguientes expresiones resultan ser inesperadas para el programador.

if ("" == 0) {
    // esta condición se cumple
}

if (1 < x < 3) {
    // esta condición se cumple para cualquier valor que tenga x
}

Muchos de los lenguajes de programación (especialmente los mas estrictos) lanzarían un error de compilación o retornarían como false la expresión anterior. Cuando escribimos programas pequeños este tipo de características de JavaScript pueden prevenirse con validaciones adicionales, sin embargo cuando tenemos programas de miles de líneas de código esto resulta ser un problema. Para prevenir este tipo de problemas, TypeScript agrega a JavaScript entre otras características la posibilidad de utilizar tipado.