¿Qué son los alias de tipo y cómo crearlos en Typescript?

En Typescript , los alias de tipo dan un nuevo nombre a un tipo. Son similares a las interfaces en el sentido de que se pueden usar para nombrar primitivos y cualquier otro tipo que, de lo contrario, tendría que definir a mano. La creación de alias no crea verdaderamente un nuevo tipo; en cambio, le da a ese tipo un nuevo nombre. Asignar alias a un primitivo no es muy práctico, ya que es fácil usar tipos primitivos; sin embargo, se puede usar con fines de documentación. El alias de tipo es simplemente dar otro nombre a un tipo. vamos a demostrar algunos ejemplos de alias de tipos.

Ejemplo 1: creación de un alias de tipo

En este ejemplo, creamos un alias de tipo denominado type_alias. El nuevo tipo es una unión de número, string y booleano. si se declara una nueva variable con ese tipo, a la nueva variable se le pueden dar valores que sean solo de tipo número, string o booleano.

Javascript

// A new type is created
type type_alias = number | string | boolean;
 
// Variable is declared of the new type created
let variable: type_alias;
variable = 1;
console.log(variable);
variable = "geeksforgeeks";
console.log(variable);
variable = true;
console.log(variable);

Producción:

1
geeksforgeeks
true

Aquí tratamos de dar una variable de tipo función, el compilador TypeScript genera un error.

Javascript

// A new type is created
type type_alias = number | string | boolean;
 
// Variable is declared of the new type created
let variable: type_alias;
variable = function () {};

Producción:

error TS2322: Type '() => void' is not assignable to type 'type_alias'.
  Type '() => void' is not assignable to type 'true'.

    variable = function () {};

Ejemplo 2: Implementación de alias de tipo en una función.

En este ejemplo, intentaremos implementar un alias de tipo en una función. Creamos un alias de tipo llamado anotherType que es una unión de número y tipo de string. La función DisplayId puede tomar argumentos que son de tipo número o string. Si se da cualquier otro tipo, se genera un error. 

Javascript

// A new type is created
type anotherType = number | string;
let variable: string;
function displayId(id: anotherType) {
  if (typeof id === typeof variable) {
    return "my id is : " + id;
  }
  return "my id is : " + `${id.toString()}`;
}
 
// Argument of type string is passed into the function
console.log(displayId("AF565"));
 
// Argument of type number is passed into the function
console.log(displayId(565));

Producción:

my id is : AF565
my id is : 565

Ejemplo 3: Literales de string como alias de tipo.

En lugar de especificar tipos en unión, podemos usar strings en su lugar. Se crea un nuevo tipo que es un alias de tipo «sí»|»no». solo se pueden dar strings de «sí» o «no» como valores para las variables declaradas con otherType. cuando se proporciona algún otro valor como entrada, el compilador TypeScript genera un error.

Javascript

// A new type is created
type otherType = "yes" | "no";
let variable: otherType;
variable = "yes"; // no error
console.log(variable);
variable = "neither"; // error
console.log(variable);

Producción:

el compilador TypeScript genera un error:

error TS2322: Type '"neither"' is not assignable to type 'anotherType'.

    variable = "neither"; // error
    ~~~~~~~~

Después de ejecutar el archivo JavaScript:

yes
neither

Publicación traducida automáticamente

Artículo escrito por sarahjane3102 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *