TypeScript 5.5 стал общедоступным

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

TypeScript 5.5 был выпущен 20 июня, доступ к нему можно получить через Nuget или следующую команду: npm -D typescript. Бета-версия была представлена 25 апреля, а релиз-кандидат появился 6 июня.

Начиная с релиз-кандидата (RC), Microsoft временно отменила изменение, которое обращалось к package.json для определения формата модуля данного файла. По отзывам, это изменение нарушало рабочие процессы и вызывало неожиданную нагрузку при просмотре файлов в крупных проектах. В TypeScript 5.6 Microsoft надеется вернуть более сбалансированную версию этой функции, а также оптимизировать поиск несуществующих файлов.

В бета-версии TypeScript 5.5 добавлена поддержка новых методов Set, предложенных для JavaScript. Некоторые из этих методов, такие как union, intersection и difference, берут другой Set и возвращают в качестве результата новый Set. Другие методы, такие как isSubsetOf, берут другой Set и возвращают логическое значение.

Также в релиз-кандидате проверка регулярных выражений в TypeScript стала немного более мягкой, но при этом по-прежнему ошибается при сомнительных эскейпах, которые разрешены только в соответствии с приложением B к ECMAScript. TypeScript 5.5 RC также содержит больше оптимизаций производительности, включая пропуск проверки в transpileModule и оптимизацию фильтрации контекстных типов, что может привести к ускорению сборки и итераций.

TypeScript 5.5 содержит множество других улучшений, которые ранее были доступны в бета-версии. Для повышения производительности и увеличения размера была проведена работа по мономорфизации языкового сервиса и публичного API. По словам авторов TypeScript, благодаря мономорфизму работа редактора и инструментов сборки, использующих API TypeScript, станет быстрее. Та же работа была проведена ранее для объектов Node и Symbol в TypeScript 5.0, чтобы обеспечить им согласованный набор свойств и последовательный порядок инициализации.

TypeScript 5.5 также отличается значительным уменьшением общего размера пакета. Площадь дискового пространства уменьшилась с 30,2 МБ до 20,4 МБ, а размер пакета - с 5,5 МБ до 3,7 МБ. В рамках работы над созданием изолированных объявлений (isolatedDeclarations) Microsoft улучшила частоту прямого копирования исходного кода TypeScript при создании файлов объявлений.

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

В TypeScript 5.5 TypeScript теперь будет определять, что функция возвращает предикат типа при определенных условиях. А благодаря сужению потока управления для постоянных индексированных доступов TypeScript теперь может сужать выражения для obj[key], когда и obj, и key являются фактически постоянными.

TypeScript 5.5 упрощает использование API модулей ECMAScript. Ранее, если разработчик писал модуль ECMAScript в Node.js, именованные импорты не были доступны из пакета typescript. Это было исправлено. TypeScript также теперь поддерживает новый тег комментария @import, который имеет тот же синтаксис, что и импорт ECMAScript.

В TypeScript 5.5 также добавлен API transpileDeclaration, который предназначен для генерации одного файла декларации на основе исходного текста. API аналогичен transpileModule для компиляции одного файла кода TypeScript.

TypeScript 5.5 следует за TypeScript 5.4, который стал общедоступным в марте и сохранил сужение в закрытиях функций.

TypeScript 5.5 стал общедоступным
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
25 июня 2024 г.
65
Теги: TypeScript , ECMAScript

Комментарии

Оставить комментарий:
* отправляя форму, я даю согласие на обработку персональных данных

Читайте еще