TypeScript 1.4 (Nuevas características) 1 – 2

Union types

Una funcionalidad muy potente, aunque a mi gusto puede ser considerada un anti patrón. La posibilidad de asignar distintos tipos a una variable, nos da flexibilidad a la hora de recibir parámetros, pero por otro lado nos hace perder un poco del poder de typescript. La razón es que al tener variables o parámetros, que pueden recibir distintos tipos, estamos abiertos a la posibilidad de una gran cantidad de errores. Aunque si decidimos utilizarlo sera necesario que utilicemos Type Guards.

En esta ejemplo a nuestra variable “opts” podemos asignarle, un string, un array de string, o una funciona que retorne un string.

Type Guards

El gran poder del engine de TypeScript, queda demostrado en esta nueva característica.
Al hacer una comprobación de tipo, typescript, es capaz de inferir con que tipo estamos trabajando dentro de esa sección de código, y nos provee de los métodos correspondiente, haciendo inaccesible los métodos correspondientes al otro tipo.

Otro ejemplo que podemos dar, es mediante la utlización del operador instanceof

 

Stricter Generics

Sin lugar a duda una de mis características favoritas. Los generics, son una de las características mas potentes que tenemos a la hora de realizar nuestros diseños. A través de ellos seremos capaces de reutilizar mucho código sin perder el tipado.

En este caso vamos a tener un error, ya que al tener un único genérico el tipo de este se infiere a partir del primer parámetro, en este caso “number”, por lo que espera un segundo parametro del mismo tipo “number”.

Para ejemplificar el uso de generics, realizamos la implementación del conocido patrón Repository.

Better Type Inference

Una mejora considerable en la inferencia de tipos, para el uso de tuplas.

 

Leave a Comment