Alias y tipos literales
Clase 15 de 24 • Curso de TypeScript
Contenido del curso
Tipos de datos primitivos
Tipos de datos especiales
- 13

Any
10:17 min - 14

Union Types
08:10 min - 15

Alias y tipos literales
Viendo ahora - 16

Null y Undefined
11:59 min - 17

Funciones
10:34 min - 18

Retorno de funciones
08:34 min - 19

Objetos en funciones
09:24 min - 20

Objetos como tipos
05:20 min - 21

Módulos: import y export
12:11 min - 22

Usando librerías que soportan TypeScript
06:45 min - 23

Usando librerías que NO soportan TypeScript
08:28 min
Próximos pasos
Los Alias nos permiten darle un nombre a uno o varios tipos de datos en conjunto. Un ejemplo de como se definen sería así:
type UserID = string | boolean | number;
¡Ahora UserID lo podemos usar como si fuese un tipo de dato string, boolean o number!
let dynamicVar: UserID = "300";
dynamicVar = true;
dynamicVar = 200;
Los Union Types que vayamos a utilizar ahora serán menos tediosos de escribir, pues con los Alias podemos utilizar el mismo conjunto de tipos de datos en la definición de varias variables, beneficiándonos en escribir menos código.
type UserID = string | boolean | number;
let dynamicVar: UserID = "300";
function helloUser( userId: UserID ) {
console.log(`Un saludo al usuario con el número de id ${userId}`);
}
Nota: la palabra type en los Alias es algo propio de TypeScript.
Tipos Literales (Literal Types)
Gracias a esto podemos definir explícita y literalmente los posibles valores que puede tomar nuestra variable. Por ejemplo:
let shirtSize: "S" | "M" | "L" | "XL";
shirtSize = "M"; //CORRECTO
shirtSize = "S"; //CORRECTO
shirtSize = "qwrty"; //ERROR. No está en las opciones.
shirtSize = "SS"; //ERROR. Letra de más.
shirtSize = "m"; //ERROR. Está en minúscula.
Definimos que la variable shirtSize pueda ser una de las 4 posibles opciones de valores, que estos sean de tipo string y que estén en mayúscula, por tanto, si queremos asignar un valor que no sea exactamente como lo declaramos, TypeScript nos mostrará un error.
Alias + Tipos Literales
También podríamos combinarlas para facilitar aún más el desarrollo de nuestro programa:
type Sizes = 'S' | 'M' | 'L' | 'XL';
let shirtSize: Sizes;
shirtSize = "M";
function yourSize( userSize: Sizes ){
console.log(`Tu medida es ${userSize}`);
}
Contribución creada por: Martín Álvarez.