Что такое индексные сигнатуры (index signatures) в TypeScript?

Пользователь

от renee , в категории: Компьютерные технологии , год назад

Что такое индексные сигнатуры (index signatures) в TypeScript?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от kieran.bradtke , год назад

@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 происходят через квадратные скобки с ключом-строкой внутри.