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