TypeScript · Middle · Запитання 28 з 75

Як перейменувати ключі в mapped type?

type Getters<T> = {
  [K in keyof T as `get${Capitalize<string & K>}`]: () => T[K];
};

Пояснення

Key remapping (TS 4.1+): Getters<{ name: string }> → { getName: () => string }. Якщо вираз після as дає never, ключ виключається - так фільтрують властивості за типом значення. string & K потрібен, бо ключі можуть бути символами або числами.

Де почитати

Помилка в запитанні

TypeScript · Middle · запитання 28

Перевірте себе

Пройдіть тест TypeScript · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест