Categorías
Dev TypeScript

Cómo definir un objeto de tipos específicos (key: value) en TypeScript

Esta es una de esas cosas que se me olvidan y que luego no encuentro nunca, cada vez que la necesito hacer. Por eso a continuación les explicaré el lío y la solución:

Imagínense que ustedes tienen un objeto definido como así:

export interface Persona {
  nombre: string;
  apellido: string;
}

Y que luego quieren crear una variable que sea un objeto, que por dentro tenga el sobrenombre como key y que el valor sea el objeto persona. Algo Como así:

let objeto = {
  'mono': {
    nombre: 'Pedro',
    apellido: 'Infante',
  },
  'pacho': {
    ...
  },
  ...
}

Ya me entienden. Entonces la pregunta es cómo hacer para definir el tipo de la variable objeto, para indicar que las claves del objeto (los nombres de las propiedades) son un string y que el valor es un objeto Persona. Pues ahí les va:

let objetos: { [ key: string ]: Persona };

Ahí les queda. Ya se les puede olvidar y regresar a acordarse por aquí.

Creditos gif: azblondi420

Deja una respuesta