¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Angular
  3. TypeScript
Extrait - Angular Desarrolle sus aplicaciones web con el framework JavaScript de Google
Extractos del libro
Angular Desarrolle sus aplicaciones web con el framework JavaScript de Google
2 opiniones
Volver a la página de compra del libro

TypeScript

JavaScript

Desde hace algunos años, el lenguaje JavaScript se impone como el lenguaje indispensable en el desarrollo de aplicaciones web.

Inicialmente, JavaScript se creó como un lenguaje de scripting, utilizado para aportar un poco de dinamismo a los sitios web estáticos. Pero a lo largo del tiempo, con la ayuda de la popularización de frameworks como jQuery o AngularJS, la utilización del lenguaje JavaScript se ha hecho cada vez más importante, hasta permitir la creación de aplicaciones 100% front, con funcionalidades idénticas a lo que podemos hacer en una aplicación de cliente pesado (modo offline, notificaciones, etc.).

JavaScript es un lenguaje bastante diferente de lo que estamos acostumbrados a ver. En primer lugar, JavaScript es un lenguaje interpretado, el código escrito se ejecutad directamente sin fase de compilación inicial.

JavaScript también es un lenguaje dinámicamente tipado, es decir, que un elemento puede cambiar de tipo a lo largo de ejecución. De esta manera, a una variable de un determinado tipo, se le puede asignar un valor de otro tipo.

var miFuncion = function() {  
    console.log("I'm a function");  
}   
miFuncion = 27; 

Ejemplo del tipado dinámico JavaScript. La variable se inicializa como función y después recibe un valor entero.

Para terminar, JavaScript...

TypeScript

Una de las soluciones a estos problemas es la creación de lenguajes que se transcompilan en JavaScript, es decir, que la compilación genera archivos JavaScript. Este es principalmente el caso de TypeScript, actualizado por Microsoft y utilizado por Angular.

Existen otros lenguajes similares, como Dart o CoffeeScript, pero TypeScript es sin duda uno de los más completos en la actualidad.

Por lo tanto, TypeScript es un lenguaje compilado y tipado fuertemente, que genera JavaScript comprensible por todos los navegadores.

Hay otras soluciones, como la creación de nuevos lenguajes como Flash o Silverlight, que pueden ser interpretados por los navegadores gracias a la instalación de plug-ins. Estos lenguajes murieron cuando los navegadores decidieron no soportarlos. La ventaja de TypeScript es que genera código JavaScript totalmente comprensible por todos los navegadores de manera nativa, es decir, sin ayuda de plug-ins. Por lo tanto, esta solución es permanente en el tiempo.

El fuerte tipado de este lenguaje, va a permitir asociar un tipo a un elemento e impedir que este elemento cambie de tipo. Por lo tanto, este tipado fuerte permite una estabilidad superior del código, porque será posible predecir el tipo de un elemento y en consecuencia, sus diferentes valores posibles.

var id: number; 

La fase de compilación de TypeScript permite validar sintácticamente el código. Si no es válido sintácticamente, es decir, si el desarrollador ha hecho uso de una propiedad en un objeto que no existe o que utiliza un tipo de manera no adecuada, la compilación del código TypeScript indicará este error. Las fases de refactoring, que eran extremadamente complicadas y peligrosas, ahora son mucho más sencillas. De manera general, el código será mucho más robusto y estable.

images/04ng03.png

Hay numerosos editores, principalmente Visual Studio, VSCode o SublimeText por citar algunos, que incluyen el lenguaje TypeScript y ofrecen numerosas herramientas, como el autocompletado, los errores de compilación directamente en el editor, etc.

1. Sintaxis

La sintaxis de TypeScript es muy diferente de lo que estamos acostumbrados a ver en JavaScript. A continuación se muestra un resumen general de los principales elementos.

a. Variables

La declaración de una variable se hace de la siguiente manera:

var miVariableBooleana: boolean;...