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
- Una tupla etiquetada documenta qué significa cada posición.
- Un elemento rest vuelve variádica la cola.
as constsobre un literal de arreglo produce una tupla readonly.
Palabras clave y builtins usados aquí
EntryMathObjectasconstfunctionnumberreturnstringtype
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.
Paso 3 de 5 en Funciones y tuplas; paso 18 de 23 en Tipos y anotaciones.