Вышла производственная версия TypeScript 5.1

автор vadim


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

Версия 5.1 включает в себя целый ряд улучшений кодирования для строго типизированного языка Microsoft, основанного на JavaScript. Благодаря более простому неявному возврату для функций, возвращающих неопределенное значение, TypeScript 5.1 позволяет undefined-возврат функции без оператора возврата, исправление ситуации, в которой были только функции, которые не могли иметь абсолютно никакого оператора возврата. void-возвращение и any-возвратные функции. Это означало, что даже если разработчик явно указывал, что функция возвращает undefinedтребовался хотя бы один оператор возврата.

Это было проблемой, если API ожидал, что функция вернет undefinedи в этом случае хотя бы один явный возврат undefined или return Требовалась инструкция и явная аннотация. По словам Microsoft, такое поведение сбивало с толку и разочаровывало. Также с TypeScript 5.1, если функция не имеет возвращаемого выражения и передается чему-то, что ожидает возврата функции. undefinedTypeScript делает вывод undefined для возвращаемого типа этой функции.

TypeScript 5.1 также теперь позволяет совершенно несвязанные типы для get и set свойства средства доступа при условии, что они имеют явные аннотации типов. Это следует за TypeScript 4.3, позволяющим get и set пара средств доступа для указания двух разных типов.

TypeScript 5.1 доступен через NuGet или через NPM:

npm install -D typescript

Другие новые возможности и улучшения в TypeScript 5.1:

  • TypeScript теперь обеспечивает завершение фрагмента при вводе текста. @param Тег JSDoc в файлах TypeScript и JavaScript. Это может помочь сократить ввод текста и переходы по нему, когда разработчики документируют код или добавляют типы JSDoc в JavaScript.
  • TypeScript 5.1 избегает создания экземпляров типов внутри типов объектов, о которых известно, что они не содержат ссылок на параметры внешнего типа. Это может сократить количество ненужных вычислений и сократить время проверки типов в каталоге документации Material UI более чем на 50%.
  • При проверке того, является ли исходный тип частью типа объединения, TypeScript 5.1 сначала выполняет быстрый поиск, используя внутренний идентификатор типа для этого источника. Если поиск не удался, TypeScript проверяет совместимость с каждым типом в объединении.
  • TypeScript теперь работает только на Node.js 14.17 и более поздних версиях.
  • Имена атрибутов в пространстве имен теперь поддерживаются при использовании синтаксиса JSX. Кроме того, для JSX TypeScript 5.1 теперь ищет тип с именем JSX.ElementTypeкоторый точно указывает, что можно использовать в качестве тега в элементе JSX.
  • Связанное редактирование имен тегов JSX позволяет редактору автоматически редактировать несколько местоположений одновременно.
  • Когда указанная стратегия поиска модулей TypeScript не может разрешить путь, теперь она будет разрешать пакеты относительно указанного typeRoots.

Производственный выпуск следует за кандидатом на выпуск от 18 мая 2023 г. и бета-версией от 18 апреля 2023 г. Начиная с кандидата на выпуск, разработчики TypeScript немного изменили встроенный рефакторинг, чтобы переместить объявления в существующие файлы, но Microsoft считает, что реализация все еще нуждается в улучшениях. В результате разработчики могут не иметь доступа к нему в большинстве редакторов на данный момент и могут выбрать его только через ночную версию TypeScript. Ожидается, что TypeScript 5.2 или будущий выпуск патчей версии 5.1 повторно представят этот рефакторинг. Предшественник TypeScript 5.0 был выпущен в марте 2023 года с упором на модули ECMAScript.

Related Posts

Оставить комментарий