TypeScript (I): Extendiendo Javascript


Que es TypeScript?

TypeScript_Logo
TypeScript es un lenguaje con un nivel abstracción más alto que Javascript. La idea es trabajar con Javascript normalmente; y incorporar instrucciones extendidas de TypeScript. TypeScript incorpora un compilador que genera código Javascript final.

El creador de TypeScript es el mismo de C#; por lo que la sintaxis es muy parecida.

Características

  • TypeScript posee tipos de datos: Javascript no es un lenguaje tipado. TypeScript de esta manera valida al compilar los tipos. Así mismo sino definimos el tipo si puede lo infiere; también validando al compilar.
    var area: number;
    
  • TypeScript extiende las funciones:
    • Incorpora niveles de Accesibilidad (publico y privado):
          private area(width: number, height: number) { return width * height; }
      	
    • Tiene Funciones Lambda:
      var area = (width: number, height: number) => width * height;
      
  • TypeScript permite trabajar con un modelo de objetos; ofreciendo utilizar:
    • Interfaces:
      			interface Vehicle {
      				GetName(): string;
      			}
      		
    • Clases:
      			class Car implements Vehicle {
      				Name: string;
      				Model: string;
      				constructor (name: string, model: string) {
      					this.Name = name;
      					this.Model = model;	
      				}
      				public GetName(): string {
      					return 'Car:' + this.Model + ' ' + this.Name 
      				}				
      			}
      		
    • Herencia:
      				class OffRoadCar extends Car {
      					constructor (name: string, model: string) {
      						super(name,model);
      				}
      				public GetName() {
      					return 'Car (OffRoad):' + this.Model + ' ' + this.Name 
      				}
      			}
      		
    • Genéricos:
      		class GetNameBeautifulService<T extends Vehicle> {
      			public GetNameBeatifull(vehicle: T) {
      				var s= '<br/>';
      				s = s  + '---------------------------<br/>';
      				s = s + '--- ' + vehicle.GetName() + ' ---</br>';
      				s = s + '---------------------------<br/>';
      			return s;
      		}
      		
  • TypeStript permite el Diseño Modular; permite aplicar en el desarrollo en Javascript el patron de diseño Modular (namespaces en C#).
    • Definir el modulo a exponer:
    • 			module Vehicles {
      				....
      			}
      			
    • Indicar los elementos que expone el modulo:
    • 			export class OffRoadCar {...}
      			export var area = (width: number, height: number) => width * height;
      			
    • Definir la referencia desde otro modulo y usarla:
    • 			import vehicleModule = module('Vehicles');
      			var offRoadCar = new vehicleModule.OffRoadCar('FreeLander', 'Land Rover');
      			

Conclusiones

TypeScript permite trabajar de una manera más cómoda, potente y productiva en Javascript.
Se puede probar directamente en: http://www.typescriptlang.org/playground.

Anuncios
Esta entrada fue publicada en Diseño, javascript. Guarda el enlace permanente.

Una respuesta a TypeScript (I): Extendiendo Javascript

  1. Pingback: TypeScript (II): Instalación en Visual Studio 2012 | Pensando bajo la lluvia

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s