Как получить тип: массив ключей объекта в TypeScript?

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

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

Вот как это можно сделать:

type MyObject = {
  foo: string;
  bar: number;
  baz: boolean;
}

type ObjectKeys = keyof MyObject;
// Тип ObjectKeys будет иметь значение "foo" | "bar" | "baz"

const keys: ObjectKeys[] = ['foo', 'bar', 'baz'];
// Теперь мы можем использовать это значение для массива ключей объекта

console.log(keys); // ['foo', 'bar', 'baz']

В этом примере мы создали новый тип MyObject, который представляет объект с тремя свойствами: foo, bar и baz. Затем мы использовали оператор keyof, чтобы получить тип ObjectKeys, который будет содержать значения "foo" | "bar" | "baz". Затем мы объявили переменную keys, которая является массивом ObjectKeys и присвоили ей массив, содержащий ключи нашего объекта. В итоге, при выполнении кода, мы получим массив ['foo', 'bar', 'baz'] в консоли.

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