Релиз TypeScript 4.5

Сегодня вышел TypeScript 4.5. Дениэл Розенвассер рассказал о всех новинках релиза.

Был добавлен новый утилитарный тип Awaited. Этот тип моделирует разворачивание промисов с помощью await в async-функциях и метода .then() у промисов. Awaited теперь используется для типизации Promise.all, улучшая вывод типов.

С версии 4.5 встроенные типы можно обновлять отдельно от компилятора. Также теперь можно оверрайдить встроенные типы, используя пакеты @typescript/lib-* в node_modules.

Строковые шаблонные типы могут использоваться в качестве дискрименантов в union'ах. Эта фича будет полезна при типизации ответов API.

В условных типах появилась оптимизация хвостовой рекурсии, благодаря которой можно описывать типы, полагающиеся на большое число итераций. Например, с его помощью можно затипизировать полноценный утилитарный тип TrimLeft.

Появилась возможность отключения удаления неиспользуемых импортов. Также в рамках этой фичи был добавлена поддержка модификатора type для импортируемых типов: import {someFunction, type BaseType} from "./module.js";.

Реализованы пропозалы "Ergonomic Brand Checks" и "Import assertions".

Также в этой версии должна была появиться поддержка ESM для Node.js, но она была временно удалена из-за несовместимости с экосистемой и проблем в реализации.

https://devblogs.microsoft.com/typescript/announcing-typescript-4-5/

← На главную