TypeScript: Let y Tipos de Datos

TypeScript

TypeScript dispone de variables “fuertes” gracias a la inclusión de let y const con la actualización de ES6. Es decir, variables en las que podemos definir el tipo de dato al que pertenece para así tener una programación más fuerte y concisa.

Esto es algo que JavaScript necesitaba y que se agradece, ya que por ejemplo podíamos cometer el error de pasar un dato de texto a una variable que estaba pensaba para ser un número. Y como esto en sí, era correcto, pues nada te avisaba del error y podías tener fallos en el código sin ser consciente de ello.

Pero antes de empezar a explicar los distintos tipos de datos que ofrece TypeScript creo que es mejor que explique un poco que es una variable “let”.

¿Qué es una variable let?

Let en sí tiene el mismo uso que tendría una variable “var” de toda la vida, un simple “contenedor” que podemos nombrar como queramos y donde almacenaremos algún tipo de información.

La diferencia respecto a “var” es lo que he comentado en la introducción, con let podemos definir el tipo de dato al que pertenece una variable. Pero no solo eso… también tiene otra diferencia bastante peculiar que ya he explicado en la sección de JavaScript: Diferencias entre Var, Let y Const.

Tipos de Datos en TypeScript

Estos son los tipos de datos que podemos utilizar en TypeScript, muy similares a los que se utilizan en la mayoría de lenguajes para especificar datos en variables.

String

String se utiliza para cadenas de texto, estas pueden incluir números. Veamos el código:


// String en TypeScript

let nombre:string = "Sans";

// Pueden incluir números

let nombre2:string = "Sans17";

// Y también espacios

let descripcion:string = "el bromista";

// Y hasta podemos crear textos con variables por medio
// Tenemos que utilizar ``

let frase:string = `${ nombre }, ${ descripcion }, es un personaje de Undertale.`;

Para definir Strings tenemos que utilizar las comillas, se pueden utilizar tanto la comilla simple ‘ ‘ como la comilla doble ” “, a mí es que me gusta más la doble, pero esto va a gustos.

Sobre el último ejemplo a esta la técnica se la conoce como Template Strings, la cual nos facilita muchísimo la inclusión de variables en cadenas de texto. Ten en cuenta que para utilizar esta función tenemos que utilizar unas comillas especiales (“),  son como tildes abiertas.

Veamos como sería el código al estilo JavaScript, sin template strings:


let frase:string = nombre + ", " + descripcion + ", es un personaje de Undertale.";

¡Es mucho más sencillo con Template strings!

Number

Number es para tipos de datos que sean números. Se pueden utilizar también números en diferentes bases, concretamente en base 10, 2, 8 y 16.


// Number en TypeScript

// En base 10 o decimal (los de toda la vida)

let numero:number = 17;

// En base 2 o binario (unos y ceros)

let numeroBinario:number = 0b10001;

// En base 8 o octal (del cero al 7)

let numeroOctal:number = 0o21;

// En base 16 o Hexadecimal (del cero al F (16 en hexadecimal))

let numeroHexadecimal:number = 0x11

Esto se entiende mejor si comprendes como funcionan las bases en la numeración, algún día prometo hacer posts para explicar mejor todo esto.

Pero para entenderlo un poco sin entrar demasiado en detalle, todos los números del código anterior son el 17 en decimal (la base que utilizamos todos) pasado a cada base. Pero tenemos que tener una cosa en cuenta.

17 en binario es 10001, pero claro, ¿Cómo va a entender TypeScript que esto es un número binario y no el número 10001? (diez mil uno en decimal). Pues por eso mismo la variable toma el valor 0b10001, con el “0b” del principio le indicamos que es un número en base 2 o binario.

  • Para binarios: 0b.
  • Para octales: 0o.
  • Para hexadecimales: 0x.
  • Para decimales: nada, el número tal cual, el que se toma por defecto.

Boolean

Con boolean declaramos variables de tipo booleano, es decir, variables de “si o no”, “1 o 0”, “true o false”. Tipos de dato binario, puede estar activo o no.

Así sería el código:


// Boolean en TypeScript

let tengoPiano:boolean = true;

Esta variable de ejemplo se utilizaría para definir la posesión o no de un piano y por lo tanto solo tenemos dos valores posibles:

  • True: Si tengo piano.
  • False: No tengo piano.

Tuple

Con tuple podemos asignar más de un valor a una variable con distintos tipos de datos. Por ejemplo una variable que tenga dos valores, un número y un booleano.

Código de ejemplo:


// Tuple en TypeScript

let edadYSoyAdulto: [number, boolean];

edadYSoyAdulto = [26, true];

Esta variable recoge la edad y un booleano que es true cuando se tienen 18 o más o false cuando se tienen menos de 18.

 Array

Un array es básicamente una colección de datos, un ejemplo sería una baraja de cartas, un array sería la “caja” de la baraja de cartas. Es decir, lo que recopila todos los datos.

Otro ejemplo sería un array que recoja una secuencia de números, como sería por ejemplo el Fibonacci. Pero realmente puede ser cualquier tipo de lista.


//Array en TypeScript

// Secuencia Fibonacci

let fibonacci: number[] = [1, 1, 2, 3, 5, 8, 13];

// Días de la Semana

let diasSemana: string[] = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo" ];

Como ves, el Fibonacci es una sucesión de números en los que cada número es la suma de los dos anteriores.

Any

Any es el tipo de dato que cogerá una variable por defecto si no especificamos a que dato pertence. Este tipo de dato significa que la variable puede tomar cualquier tipo de dato posible, como hace “var” de JavaScript.

Así sería el código.

// Any en TypeScript

// Si no añadimos el tipo de dato tomará any

let cualquiera = "Megalovania";

// Así es como se escribiría, pero en sí es lo mismo 

let cualquiera:any = "Megalovania";

// Al poder tomar cualquier tipo de dato podemos escribir lo que queramos

let cualquiera = 17;
let cualquiera = false;

¡Y eso es todo por hoy!

Es muy importante conocer todos los tipos de datos que disponemos en cualquier lenguaje, en este caso en TypeScript. La verdad es que hay más tipos de datos, pero estos son los más comunes y útiles.

Y como siempre, para cualquier duda, discrepancia o anotación, no dudes en dejar tu comentario.

¡Hasta la próxima entrada!

4 Comments

  1. julio enero 2, 2018
    • Silver enero 2, 2018
  2. alexandra febrero 1, 2020

Leave a Reply