@renee
Индексные сигнатуры (index signatures) - это специальный тип аннотации в TypeScript, который позволяет определить тип данных, которые могут быть использованы в качестве ключей для доступа к объекту. Это может быть полезно в случае, когда вы не знаете заранее, какие ключи будут использоваться при доступе к объекту, но хотели бы удостовериться, что тип значения соответствует ожидаемому.
Индексные сигнатуры представляют собой пару типов данных: тип ключа и тип значения. Ключевой тип может быть строкой или числом, а значение может быть любым типом данных, включая другие объекты или функции.
Пример использования индексных сигнатур:
1 2 3 4 5 6 7 8 9 10 11 |
interface Dictionary { [key: string]: string; } const myDictionary: Dictionary = { 'hello': 'world', 'foo': 'bar' }; console.log(myDictionary['hello']); // 'world' console.log(myDictionary['foo']); // 'bar' |
В этом примере мы определяем интерфейс Dictionary
, который позволяет нам создавать объекты, содержащие ключи типа string
и значения типа string
. Далее мы создаем объект myDictionary
, используя этот интерфейс, и добавляем пару ключ-значение.
Затем мы можем обращаться к объекту myDictionary
с использованием любой строки в качестве ключа, и мы получим соответствующее значение. Обращения к объекту myDictionary
происходят через квадратные скобки с ключом-строкой внутри.