TypeScript 2.4 добавляет выражения динамического импорта


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

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

Основное улучшение TypeScript 2.4 — поддержка выражений динамического импорта. Это новые вызовы импорта ECMAScript, которые импортируют модуль и возвращают этому модулю обещание. Приведен пример веб-страницы, которая позволяет вам создавать и редактировать изображения, на которую вы хотите загрузить несколько изображений в zip-файле. Если вы выбрали загрузку функции для ленивой загрузки нескольких файлов, выражения import () позволяют загружать модуль на лету как обещание. Другими словами, вы можете отправлять меньше JavaScript по сети для более распространенных сценариев, тем самым сокращая время загрузки страницы для критически важного контента, но при этом обеспечивая более необычные варианты.

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

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

Наш опыт показывает, что пользователи обычно не сталкиваются с такими проблемами; однако мы начали видеть, что эта модель не работает на контейнерах, которые передают внутренние данные через обратные вызовы — в частности, Promises, TypeScript сравнивает параметры, которые являются обратными вызовами, и выявляет проблемы, когда код пытается назначить несовместимые параметры.

Также добавлена проверка на слабые типы. Любой тип, содержащий только необязательные свойства, считается слабым типом, поскольку он дает несколько ограничений на то, что ему можно присвоить. В TypeScript 2.4 теперь является ошибкой назначать что-либо слабому типу, когда свойства не перекрываются. Разработчики говорят, что вы можете думать об этом как о том, что TypeScript «ужесточает» слабые гарантии этих типов, чтобы отловить то, что иначе было бы скрытыми ошибками.

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


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