Как получить динамический ключ у объекта?

В TypeScript можно получить динамический ключ у объекта с помощью оператора keyof и индексного доступа к объекту.

Оператор keyof позволяет получить объединение всех ключей объекта. Например, если у нас есть объект person:

const person = {
  name: 'John',
  age: 30,
  address: {
      city: 'New York',
      street: '123 Main St'
  }
};

Чтобы получить динамический ключ, мы можем объявить переменную с типом keyof typeof person:

const key: keyof typeof person = 'name';

В данном примере, key будет иметь тип 'name' | 'age' | 'address', то есть все доступные ключи объекта person.

Затем, мы можем использовать переменную key для доступа к значению объекта:

const value = person[key];

В этом случае, value будет иметь тип значения по ключу, которое может быть string, number или даже вложенным объектом в случае, если ключ указывает на объект.

Это позволяет нам получать динамические ключи и значения из объекта во время выполнения программы, что может быть очень полезно при написании более гибкого кода.