Last active
March 31, 2024 14:44
-
-
Save pointofpresence/ba5384db46bceff8d2d4cdf7d3df2861 to your computer and use it in GitHub Desktop.
Индексные типы позволяют определить тип данных для ключей объекта, которые могут быть строками, числами, символами или определенным шаблоном строк.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Object with arbitrary string properties (like a hashmap or dictionary) | |
{ [key: string]: Type; } | |
{ [key: number]: Type; } | |
{ [key: symbol]: Type; } | |
{ [key: `data-${string}`]: Type; } | |
/* | |
Индексные типы позволяют определить тип данных для ключей объекта, которые могут быть строками, числами, символами | |
или определенным шаблоном строк. | |
{ [key: string]: Type; } - Этот код определяет объект, у которого ключи могут быть строками, а значения - заданным | |
типом Type. То есть, объект может содержать любые свойства с ключами типа string, и значения свойств будут иметь тип Type. | |
{ [key: number]: Type; } - Здесь определен объект, ключами которого являются числа, а значения имеют тип Type. | |
То есть, объект может содержать любые свойства с ключами типа number, и значения свойств будут иметь тип Type. | |
{ [key: symbol]: Type; } - В данном случае определен объект, у которого ключами выступают символы (symbol), | |
а значения имеют тип Type. Объект может содержать любые свойства с ключами типа symbol, и значения свойств | |
будут иметь тип Type. | |
{ [key: data-${string}]: Type; } - Здесь используется шаблон строк для определения ключей объекта. Ключи имеют | |
формат data-${string}, то есть строка, начинающаяся с "data-" и за которой следует любая строка (string). | |
Значения свойств имеют тип Type. Например, ключи могут быть "data-foo", "data-bar", и так далее. | |
Этот подход позволяет гибко определять типы объектов с различными типами ключей и значений для удовлетворения | |
конкретных требований в программе. | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment