Напиши тип Middle Условные и mapped-типы обновлено

Геттеры через переназначение ключей

Вопрос

Какой тип получит G? Впишите тип.

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

Попробуйте сами

Напишите тип, как написали бы в коде.

Показать ответ и разбор

Коротко

Правильный тип: { getId: () => number }. Ключ id через Capitalize становится Id, шаблон добавляет префикс get.

Правильный тип

{ getId: () => number }

Разбор

Ключ id через Capitalize становится Id, шаблон добавляет префикс get. Значение функция без аргументов, которая возвращает тип исходного поля, number.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.