typestar

Tuplas en TypeScript

Arreglos de longitud fija con un tipo por posición, y elementos etiquetados.

type Point = [x: number, y: number];
type Entry = [key: string, value: number];
type Command = [name: string, ...args: string[]];

function distance([x1, y1]: Point, [x2, y2]: Point): number {
  return Math.hypot(x2 - x1, y2 - y1);
}

function run([name, ...args]: Command): string {
  return `${name}(${args.join(", ")})`;
}

const pair = [3, 4] as const;
const entries: Entry[] = Object.entries({ a: 1, b: 2 });

console.log(distance([0, 0], [3, 4]), run(["play", "go", "3"]));
console.log(pair.length, entries[0]?.[0]);

Cómo funciona

  1. Una tupla etiquetada documenta qué significa cada posición.
  2. Un elemento rest vuelve variádica la cola.
  3. as const sobre un literal de arreglo produce una tupla readonly.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
518
Tokens
194
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 123 segundos.

Escribe este fragmento

Paso 3 de 5 en Funciones y tuplas; paso 18 de 23 en Tipos y anotaciones.

← Anterior Siguiente →