Напиши тип Middle Дженерики обновлено

Ограничение по структуре

Вопрос

Ограничь T типами, у которых есть числовое поле length.

function longest</* ? */>(a: T, b: T): T { return a.length >= b.length ? a : b; }

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

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

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

Коротко

Правильный тип: T extends { length: number }. Ответ Почему так Структурная типизация: ограничение описывает форму, а не наследование.

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

T extends { length: number }

Разбор

Ответ

T extends { length: number }

Почему так

Структурная типизация: ограничение описывает форму, а не наследование. Под него подойдут и строка, и массив, и свой класс с полем length.

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

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

Термины по теме