В TypeScript 4.9 появился оператор для поиска ошибок в коде

автор vadim


TypeScript 4.9 от Microsoft, запланированное обновление популярного строго типизированного языка, основанного на JavaScript, теперь доступен в виде рабочей версии. Обновление включает в себя satisfies оператор, который может ловить ошибки.

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

Также в TypeScript 4.9 in Оператор стал более мощным при сужении типов, в которых не указано свойство. Вместо того, чтобы оставить их как есть, язык будет пересекать их типы с Record<”property-key-being-checked”, unknown>.

TypeScript 4.9 также ужесточает проверки того, как in используется, чтобы гарантировать, что используются действительные ключи свойств.

TypeScript 4.9, представленный 15 ноября после стадий бета-тестирования и кандидатов на выпуск, можно загрузить через NuGet или через NPM, используя следующую команду:

npm install -D typescript

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

  • Наблюдение за файлами по умолчанию осуществляется на основе событий файловой системы, и возвращается к опросу только в том случае, если разработчикам не удается настроить средства наблюдения на основе событий. Это должно обеспечить менее ресурсоемкую работу при запуске. –-watch режиме или работать с редактором на базе TypeScript, например Visual Studio Code или Visual Studio.
  • Promise.resolve теперь использует Awaited type для развертывания переданных ему типов, подобных Promise. Это означает, что он чаще возвращает правильное Promise тип, но этот улучшенный тип может сломать существующий код, если он ожидал any или unknown вместо Promise.
  • TypeScript теперь ошибается при прямом сравнении со значением NaN и предлагает некоторые варианты Number.isNAN вместо.
  • TypeScript теперь поддерживает новую функцию ECMAScript, называемую автоматическими средствами доступа, которые объявляются так же, как свойства в классах, за исключением того, что они объявляются с помощью accessor ключевое слово.
  • Чтобы улучшить производительность, forEachChild Функция была переписана для использования поиска в таблице функций вместо оператора переключения между узлами синтаксиса. Кроме того, был оптимизирован способ сохранения TypeScript информации о типе в истинной ветви условного типа.
  • Чтобы оптимизировать типы замещения, SubstitutionType объекты больше не содержат свойства замены, представляющего эффективную замену. Вместо этого они просто содержат constraint свойство.

TypeScript 5.0 должен выйти в виде бета-версии 24 января 2023 года, кандидат на выпуск запланирован на 28 февраля, а производственная версия должна выйти 14 марта. TypeScript 4.8 выйдет 25 августа и принесет улучшения корректности и согласованности, а также исправления для отслеживания файлов. .

TypeScript находится на подъеме. В отчете CircleCI о состоянии поставки программного обеспечения за 2022 год говорится, что TypeScript превзошел JavaScript как самый популярный язык DevOps. В CircleCI причиной такого всплеска назвали дружелюбие к разработчикам.

Предшественник TypeScript 4.8 был выпущен 25 августа и принес улучшения корректности и согласованности, а также исправления отслеживания файлов.

Related Posts

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