Какие знаешь обновления из TS 5.5

«Какие знаешь обновления из TS 5.5» — вопрос из категории TypeScript, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

TypeScript 5.5 принес несколько важных улучшений:

  1. Уточнение типа inferred в условных типах
    Теперь можно явно указывать infer с ограничениями:
type FirstIfString<T> = 
  T extends [infer S extends string, ...unknown[]] ? S : never;
  1. Улучшенная проверка типов для регулярных выражений
    Более точные типы для RegExp групп захвата:
const match = /(?<year>d{4})/.exec("2024");
const year = match?.groups?.year; // string | undefined
  1. Поддержка const параметров типа
    Позволяет сохранять точные литеральные типы:
function makeArray<const T>(x: T): [T, T] {
  return [x, x];
}
const result = makeArray("hello"); // ["hello", "hello"]
  1. Улучшения производительности
    До 20% ускорение в некоторых сценариях, особенно с большими проектами.

  2. Новые флаги компилятора
    --moduleResolution bundler для лучшей совместимости с современными сборщиками.

Эти изменения улучшают вывод типов, производительность и работу с современным JS.