В TypeScript 5.3 добавлена ​​поддержка атрибутов импорта.

автор vadim


TypeScript 5.3, обновление строго типизированного варианта JavaScript от Microsoft, который сейчас находится в стадии бета-тестирования, настроен на поддержку обновлений предложения атрибутов импорта для модулей ECMAScript.

Предложение стандартов ECMA включает встроенный синтаксис для операторов импорта модуля, позволяющий передавать информацию вместе со спецификатором модуля. Эти атрибуты будут поддерживать дополнительные типы модулей обычным способом в средах JavaScript, начиная с модулей JSON.

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

Атрибуты импорта — это развитие более раннего предложения — утверждений импорта, которые были реализованы в TypeScript 4.5 в ноябре 2021 года. Наиболее очевидным отличием является использование with ключевое слово над assert ключевое слово. Менее заметное отличие заключается в том, что среда выполнения теперь может использовать атрибуты для управления разрешением и интерпретацией путей импорта, в то время как утверждения импорта могут утверждать некоторые характеристики только после загрузки модуля. Планы предусматривают отказ от старого синтаксиса утверждений импорта в пользу предлагаемого стандарта атрибутов импорта.

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

npm install -D typescript@beta

TypeScript 5.3 должен появиться в качестве кандидата на выпуск 31 октября. Окончательный выпуск запланирован на 14 ноября. Предшественник TypeScript 5.2 был выпущен 24 августа.

Другие новые функции и улучшения в TypeScript 5.3:

  • TypeScript 5.3 поддерживает resolution-mode атрибут для import type.
  • Сужение может выполняться в зависимости от условий в каждом case пункт с switch (true).
  • TypeScript 5.3 более тщательно проверяет super доступ к свойствам и вызовы методов, чтобы увидеть, соответствуют ли они полям класса. Если они это сделают, возникнет ошибка проверки типа.
  • Подсказки вставки TypeScript теперь поддерживают переход к определению типов, что упрощает навигацию по коду.
  • При запуске TypeScript через tscкомпилятор будет избегать анализа JSDoc, сокращая время анализа и использование памяти для хранения комментариев, а также время, затрачиваемое на сбор мусора.
  • Выполнена консолидация между tsserverlibrary.js и typescript.js.
  • TypeScript теперь определяет, когда объявление, на которое ссылается super. доступ к свойству является полем класса и выдает ошибку, тем самым предотвращая ошибки, которые могут возникнуть во время выполнения.
  • В JavaScript можно переопределить поведение instanceof оператор. Для этого значение справа от оператора должно иметь определенный метод с именем Symbol.hasInstance. Чтобы лучше смоделировать это поведение в instanceofTypeScript теперь проверяет, есть ли такое [Symbol.Instance] метод существует и объявлен как функция предиката типа. Если да, то проверенное значение в левой части instanceof оператор будет соответствующим образом сужен предикатом этого типа.

Дальше читайте это:

  • Облачные вычисления больше не являются пустяком
  • Что такое генеративный ИИ? Искусственный интеллект, который создает
  • Программирование с помощью ИИ: советы и лучшие практики от разработчиков
  • Python пытается удалить GIL и повысить параллелизм
  • 7 причин, по которым Java по-прежнему хороша
  • Война за лицензирование открытого исходного кода окончена

Related Posts

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