馃 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.