Что такое вывод типов (Type Inference) в TypeScript и как он работает?
СобеседованиеСистема типов
- Автоматический вывод по присваиваемому значению (включая литералы → литеральные типы, если не расширяются)
- Best common type — выбор наиболее общего типа из массива значений
- Contextual typing — по месту использования (параметры колбэков, JSX)
- Return type inference — по возвращаемому значению функций
- Анализ потока управления (Control Flow Analysis) — сужение типов в ветвях
const x = "hello" → тип "hello" (литеральный)
let y = "hello" → тип string (расширенный, т.к. можно переприсвоить)