В TypeScript существует несколько способов типизировать объекты, у которых ключи являются строками. Рассмотрим несколько вариантов.
Первый способ - использование типа Record
:
type MyObject = Record<string, number>;
Здесь MyObject
- это тип объекта, ключи которого являются строками, а значения - числами. Вы можете заменить number
на любой другой тип, который вам необходим.
Второй способ - использование интерфейса и индексной сигнатуры:
interface MyObject { [key: string]: number; }
Такая индексная сигнатура позволяет определить тип объекта, у которого ключи будут строками, а значения - числами. Опять же, вы можете заменить number
на другой нужный вам тип.
Третий способ - использование типа Record
вместе с объединением типов для различных ключей:
type MyObject = Record<'key1' | 'key2' | 'key3', number>;
В этом примере объект типизирован так, что он содержит только три определенных ключа (key1, key2 и key3), и все значения - числового типа.
Все вышеперечисленные варианты позволяют типизировать объекты с ключами, являющимися строками, и значениями определенного типа. Вы можете выбрать тот, который лучше подходит для вашей конкретной ситуации.