Bienvenidos a esta guía de typescript donde veremos lo básico y esencial para comenzar a trabajar con este meta lenguaje. Veremos desde los beneficios que obtenemos al utilizarlo y las opciones de configuración del entorno de desarrollo pasando por las variables, tipos, funciones, clases, interfaces, decoradores hasta las características genéricas y asíncronas del lenguaje. Por supuesto, esta es una guía básica y no llegaremos a temas avanzados, por lo que en otras entradas de este sitio los tocaremos en detalle.

¿Qué es TypeScript?

Por supuesto, la primera pregunta que debemos de hacernos antes de empezar a trabajar con una herramienta es, ¿Que es …?:

Pues bien, TypeScript es un lenguaje y un conjunto de herramientas para generar JavaScript. Fue diseñado por Anders Hejlsberg en Microsoft (el diseñador de C#) como un proyecto de código abierto para ayudar a los desarrolladores a escribir JavaScript a grandes escalas.

TypeScript genera JavaScript, es tan simple como eso. Utiliza la base de JavaScript y añade características propias del meta lenguaje para generar un código mas estructurado y brindar una experiencia mas orientada a objetos para el lenguaje.

Los beneficios de TypeScript

Cuando utilizamos typescript para desarrollar con JavaScript vamos a obtener múltiples beneficios, algunos muy importantes y necesarios y otro no tanto pero, pero al final son beneficios y estos nos ayudan. Pero echemos un vistazo muy rápido a los principales beneficios que nos brinda typescript:

  • El Proceso de Compilación

    Para mi este es un beneficio, pues la ejecución de un paso de compilación nos da más confianza de que no hemos cometido ningún error en código generado. Un compilador puede encontrar errores tontos, como llaves o comas que faltan etc. Sin duda nos ahorrará mucho tiempo .

  • La tipificación estricta o fuerte

    JavaScript no está fuertemente tipado. Es un lenguaje dinámico ya que permite que los objetos cambien sus propiedades y comportamiento sobre la marcha, esto puede ser algo muy peligroso y puede causar muchos problemas. Es por esto que los lenguajes tradicionales orientados a objetos imponen una tipificación estricta. En otras palabras, no permiten que el tipo de una variable cambie una vez declarada. En esto nos ayuda TypeScript.

  • La Encapsulación

    Uno de los principios fundamentales de la programación orientada a objetos es la encapsulación: la capacidad de definir datos, así como un conjunto de funciones que pueden operar en esos datos en un solo componente. TypeScript también nos ayuda en esto.

  • La utilización de accesores públicos y privados

    Otro principio de programación orientado a objetos es el concepto de ocultación de datos, es decir, la capacidad de tener variables públicas y privadas. Desafortunadamente JavaScript no tiene una forma nativa de declarar las variables como privadas.
    TypeScript nos ayuda a adherirnos a los accesores públicos y privados, generando un error de compilación cuando rompemos inadvertidamente esta regla.

TypeScript y el estándar ECMAScript

Actualmente existen varias versiones para trabajar con JavaScript, todas estas regidas por el estándar ECMAScript, desde la versión ES3 hasta la versión ES6 y posteriores. Como sabes, ES3 y ES5 han existido durante mucho tiempo y son soportado por cualquier navegador web ya sean antiguos o modernos. Desde ES6 se añaden mejoras y características al lenguaje que lo colocan en el top de los mas utilizados para la web.

Por supuesto, el compilador de TypeScript tiene un parámetro que puede cambiar entre diferentes versiones del estándar para el código Javascrip generado. TypeScript actualmente soporta ES3, ES5 y ES6. Cuando el compilador se ejecute sobre su TypeScript este generará errores de compilación si el código que está intentando compilar no es válido para ese estándar.

El equipo de Microsoft se ha comprometido a seguir los estándares de ECMAScript en todas las nuevas versiones del compilador de TypeScript, de modo que a medida que se adopten nuevas ediciones, el lenguaje y el compilador de TypeScript puedan seguir su ejemplo.

Configurando el entorno de Desarrollo para TypeScript


Estamos trabajando en este contenido…
avatar