Typescript — объявляет объект типа

#typescript #object #types

#typescript #объект #типы

Вопрос:

У меня есть объект, определенный как:

 const dict = {
    "A": "a",
    "B": "b",
    "C": "c"
};
  

и тип, определенный как type Capital = "A" | "B" | "C"; .
Тип, которому typescript автоматически присваивает dict

 const dict: {
    A: string,
    B: string,
    C: string,
}
  

Теперь мой вопрос в том, есть ли способ объявить dict способ использования Capital ?
Что-то вроде const dict: {Capital: string} ?

Ответ №1:

Вы ищете Record<Keys, Type> тип. Подробная информация.

Решение для вашего случая:

 type Capital = "A" | "B" | "C";
const dict: Record<Capital, string> = {
    "A": "a",
    "B": "b",
    "C": "c"
};
  

(ссылка на игровую площадку)