TypeScriptLección 6 de 16

Alias de tipos y uniones

La palabra type da nombre a cualquier tipo y el signo | une varios en una unión. Un valor de ese tipo puede ser cualquiera de sus miembros.

Lo esencial

  • type ID = number | string: el valor es un número o un texto.
  • Antes de comprobarlo solo se permiten las operaciones comunes a todos los miembros.
  • Tras typeof id === "string", TypeScript sabe que dentro del if es un texto.
  • type e interface describen objetos; solo type puede nombrar una unión.

Ejemplo

type ID = number | string;type Point = { x: number; y: number }; function showId(id: ID): string {  if (typeof id === "string") {    return `ID ${id.toUpperCase()}`; // here id is a string  }  return `ID #${id}`; // and here it is a number} const start: Point = { x: 0, y: 0 }; console.log(showId(42));console.log(showId("ab-7"));console.log(`Start: ${start.x},${start.y}`);

Dentro del if, id tiene toUpperCase porque ahí seguro que es un texto. Tras ese return solo queda number. Point es un tipo de objeto con nombre.

Tarea

Cómo usar el editor⌘ Enter o Ctrl Enter ejecuta el código, ⇧ ⌘ Enter comprueba la tarea.Tab y Mayús Tab sangran la línea o la selección; Esc y luego Tab sale del editor.La comprobación compara lo que imprimió el programa con la tarea; los espacios al final de línea no cuentan.Tras dos comprobaciones fallidas puedes ver la solución. Tu código se guarda en este navegador.

Permite que Price sea número o texto, convierte los textos con parseFloat, añade "12.50" al array e imprime «499, 1250, 300» y «Sum: 2049».

Salida

Aquí aparecerá lo que imprima el programa.