TypeScript 4.1 добавляет типы временных литералов


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

TypeScript — это надмножество JavaScript, которое добавляет дополнительные статические типы, которые могут быть проверены компилятором TypeScript для выявления распространенных ошибок в ваших программах.

Дополнения к этому выпуску начинаются с поддержки типов строковых литералов, которые можно использовать для моделирования функций и API, ожидающих набор определенных строк. Тип строки литерала шаблона TypeScript 4.1 имеет тот же синтаксис, что и строки литерала шаблона в JavaScript, но используется в позициях типа. Когда вы используете его с конкретными типами литералов, он создает новый строковый литерал путем объединения содержимого. Разработчики говорят, что

«Некоторая реальная ценность исходит от динамического создания новых строковых литералов. Например, представьте себе API makeWatchedObject, который принимает объект и создает в основном идентичный объект, но с новым методом on для обнаружения изменений свойств».

Также была добавлена поддержка переназначения клавиш в сопоставленных типах. Сопоставленные типы могут создавать новые типы объектов на основе произвольных ключей, но до сих пор могли создавать новые типы объектов только с ключами, которые вы им предоставили. TypeScript 4.1 теперь позволяет повторно отображать ключи в сопоставленных типах с новым предложением as. Это позволит разработчикам создавать новые ключи или отфильтровывать ключи на основе входных данных.

Ужин также был добавлен для рекурсивных условных типов. JavaScript поддерживает функции, которые могут сглаживать и создавать типы контейнеров на произвольных уровнях, но выразить это в системе типов TypeScript было невозможно. TypeScript 4.1 снимает некоторые ограничения на условные типы, чтобы они могли моделировать эти шаблоны. В TypeScript 4.1 условные типы теперь могут сразу ссылаться на самих себя в своих ветвях, что упрощает написание псевдонимов рекурсивных типов.

Еще одно улучшение — поддержка проверенных индексированных доступов для ужесточения правил использования свойств, к которым осуществляется доступ, которые еще не были перечислены.

В другом месте TypeScript 4.1 поддерживает будущие фабричные функции jsx и jsxs в React 17 с помощью двух новых опций для параметра компилятора jsx и добавляет поддержку редактора для тега JSDoc @see, что означает, что разработчики могут использовать такие функции, как переход к определению в имени, разделенном точками после тег.


Добавить комментарий