El operador satisfies (TS 4.9+) verifica que una expresión cumple un tipo sin cambiar su tipo inferido. Permite tipado estricto en valores complejos como records y tuplas.
El problema
const x: Record<string, number> = { a: 1, b: 2 } pierde las claves específicas al acceder. Sin anotación, el tipo es demasiado amplio.
Solución con satisfies
const palette = {
red: [255, 0, 0],
green: "#00ff00",
} satisfies Record<string, string | number[]>;
El tipo inferido conserva las propiedades específicas, pero se valida contra el constraint.
Casos de uso
Configuraciones de rutas, mapeo de eventos, validación de colores/temas, tuplas con nombres. Combina lo mejor de ambos mundos: inferencia estricta + verificación de conformidad.

