Learning Book

Вывод типов и совместимость

Как TypeScript выводит типы, совместимость типов, ковариантность и контравариантность

Вывод типов и совместимость

TypeScript не требует аннотировать каждую переменную – компилятор умеет выводить типы из контекста. А когда нужно проверить, можно ли передать один тип вместо другого, в дело вступает система совместимости типов, основанная на структурной типизации. Понимание этих механизмов – ключ к написанию идиоматичного TypeScript-кода без избыточных аннотаций.

Что вы узнаете

  • Как работает вывод типов: best common type, contextual typing, вывод в дженериках
  • Как TypeScript определяет совместимость типов через структурное подтипирование
  • Как сравниваются функции, классы и перечисления
  • Что такое ковариантность и контравариантность параметров и возвращаемых типов
  • Как флаг strictFunctionTypes влияет на проверку функций

Структура главы

  1. Как TypeScript выводит типы – best common type, contextual typing, вывод параметров дженериков
  2. Совместимость типов – структурное подтипирование, сравнение функций, опциональные параметры, совместимость enum и классов
  3. Ковариантность и контравариантность – бивариантность параметров, strictFunctionTypes, ковариантность возвращаемых типов, контравариантность параметров

Предварительные требования