Видеоуроки, интерактивный редактор и сохранение прогресса — бесплатно, сразу после входа.
ВойтиСоздать аккаунт — бесплатноЗакончили урок?
Войдите, чтобы отмечать прогресс
<T> объявляет параметр типа, value: T говорит «аргумент какого-то типа T», а : T после скобок обещает вернуть значение того же типа. Теперь между входом и выходом есть связь.
При вызове identity(42) TypeScript смотрит на аргумент, видит number и подставляет его вместо T во всей сигнатуре:
Это называется выводом аргументов типа. Указывать T руками тоже можно, identity<number>(42), но почти никогда не нужно.
any отключает проверку: что угодно на входе и что угодно на выходе, связи между ними нет. Дженерик принимает что угодно, но запоминает, что именно пришло, и возвращает точный тип.
T это просто соглашение, от слова Type. Параметр можно назвать как угодно: TValue, Item, Result. Однобуквенные имена удобны в коротких функциях, длинные помогают, когда параметров несколько и важно не перепутать их роли.