Напиши тип Middle Дженерики обновлено
Индексная сигнатура
Вопрос
Тип объекта с произвольными строковыми ключами и числовыми значениями (без Record).
type Counters = /* ? */;
Попробуйте сами
Напишите тип, как написали бы в коде.
Показать ответ и разбор
Коротко
Правильный тип: { [key: string]: number }. Ответ Почему так Индексная сигнатура против Record: первая допускает любые ключи, вторая - только перечисленные.
Правильный тип
{ [key: string]: number }
Разбор
Ответ
{ [key: string]: number }
Почему так
Индексная сигнатура против Record: первая допускает любые ключи, вторая - только перечисленные. Ловушка индексной сигнатуры - обращение по несуществующему ключу типизируется как number, хотя вернётся undefined; лечится флагом noUncheckedIndexedAccess.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.