Выбор ответа Middle Утилитарные типы обновлено
Parameters и необязательный параметр
Вопрос
Какой тип у P?
type P = Parameters<(a: string, b?: number) => void>[1];
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: number undefined. Parameters возвращает кортеж [a: string, b?: number].
Варианты ответа
[b?: number]undefinednumbernumber | undefinedправильный ответ
Разбор
Parameters возвращает кортеж [a: string, b?: number]. Индекс 1 указывает на необязательный элемент, а чтение необязательного элемента кортежа даёт number | undefined.
Просто number был бы для обязательного параметра. [b?: number] это кусок кортежа, а не элемент. undefined потерял бы number.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.