Licencia
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.
Descargas
Introducción
TypeScript es un lenguaje de programación moderno que permite crear aplicaciones web robustas en JavaScript. TypeScript no requiere de ningún tipo de plugin, puesto que lo que hace es generar código JavaScript que se ejecuta en cualquier navegador, plataforma o sistema operativo.
TypeScript es un "transpilador", es decir, un compilador que se encarga de traducir las instrucciones de un lenguaje a otro, aqui lo llamaremos también pre-compilador ya que este realmente intenta realizar las funciones de un compilandor más las funciones de un traductor de instrucciones.
TypeScript es un lenguaje pre-compilado, es decir, un lenguaje el cual será compilado finalmente a javascript, la versión del javascript en la cual será compilado junto con otras configuraciones estará en el archivo tsconfig, TypeScript nos proporciona una serie de ventajas sobre javascript, o ES2016,.., ya que tiene una serie de caracteristicas que ES* no suele tener, como por ejemplo:
Interfaces
Clases (Clases de verdad)
Es furtemente tipado
Aparte de estas características TS tiene más características, pero quizás la más importante sea que gracias a el tiempo de debuggin es reducido ya que, para poder debuggear código javascript en la actualidad, este tiene que ser ejecutado en la aplicación y se le debe sumar el tiempo que se tarde en la detección del fallo, mientras que con TypeScript el código simplemente no será compilado y nos dará un error en la compilación diciéndonos donde se encuentra el error.
En lo referente a las interfaces, estas ni siquiera serán escritas en el código final, simplemente será el mismo transpilador de TypeScript el que se encargará de que el "Contrato" sea cumplido, las interfaces en TypeScript pueden ser heredadas esto lo veremos más adelante.
TypeScript es fuertemente tipado ya que requiere de que se le especifiquen los tipos de datos que se quieren utilizar (en caso de que no se especifiquen serán de tipo ANY, pero eso lo veremos más adelante).