Puede alguien explicarme esto ?
Typescript puede detectar conflictos si las mismas claves en un objeto. Entonces, ¿por qué no se permiten llaves adicionales?
Patio de juegos mecanografiado
type Keys = "1" | "2" | "3" | "4" | "5"; // Works type Foo = { [key in Keys]: string; }; // Errors type Bar = { extraKey : string; [key in Keys]: string; } type Jar = { [key in Keys]: string; extraKey : string; }No puede agregar campos de esa manera a los tipos asignados , pero puede usar una intersección:
type Bar = { extraKey : string; } & { [key in Keys]: string; }Dado que extraKey también tiene un valor de cadena, lo siguiente debería funcionar
type Bar = { [key in Keys | "extraKey"]: string; }