Microsoft только что поделились последней версией языка TypeScript, выпуск 4.0. Разработчики говорят, что этот выпуск знаменует собой начало нового поколения обновлений этой технологии, поскольку теперь упор делается на выразительность, производительность и масштабируемость. Несмотря на то, что Дэниел Розенвассер, менеджер TypeScript, говорит в блоге, посвященном выпуску, что никаких новаторских изменений здесь не происходит, новостей все же довольно много.
Что такое TypeScript
TypeScript - это технология, построенная на JavaScript с дополнительным синтаксисом для статических типов. Дело здесь в том, что, написав типы значений и их местонахождение, TypeScript можно использовать для проверки кода на типы и выявления ошибок перед запуском кода. Компилятор этой технологии берет типы из кода, в результате чего получается чистый и читаемый JavaScript, который можно запускать практически где угодно.
Итак, какие новые возможности ждут пользователей в новой версии TypeScript?
Улучшенная производительность
В соответствии с тем, что было обещано, TypeScript улучшает скорость build mode с помощью --noEmitOnError. Предполагается, что проблема заключается в том, что компиляция программы после предыдущей компиляции с ошибками --incremental была очень медленной, с использованием флага --noEmitOnError. Это произошло потому, что при использовании флага --noEmitOnError в файле .tsbuildinfo не кэшировалась информация из предыдущей сборки.
Более того, стоит также упомянуть, что версия 4.0 позволяет использовать флаг --noEmit при использовании сборки --incremental. Раньше это было запрещено, потому что --incremental необходимо «транслировать» файлы .tsbuildinfo.
Исправления в редакторе кода
Новые функции в TypeScript / -JavaScript улучшают редактирование в Visual Studio Code, Visual Studio 2017/2019 и Sublime Text 3. Новый режим редактирования в основном решает проблему медленного запуска, особенно когда речь идет о крупных проектах.
Что еще более важно, также есть улучшенный автоматический импорт, который выполняет немного больше работы по включению пакетов, перечисленных в поле зависимости package.json. Информация из этих пакетов используется для улучшения автоматического импорта без изменения, например, проверки типов.
Улучшения в кортежах
Изменение, получившее название variadic tuple, состоит из двух частей. Во-первых, вы можете использовать разворачивающий синтаксис для обобщений в кортежах. Во-вторых, элемент spread теперь может появляться в любом месте кортежа, а не только в конце. Типы кортежей теперь также имеют обозначения и могут быть названы, что, безусловно, облегчит работу с ними.
Другие изменения
Анализ потока аудита теперь можно использовать для определения типов свойств в классах, где разрешено выполнение noImplicitAny. Кроме того, TypeScript 4.0 поддерживает новую функцию ECMAScript для добавления новых операторов присваивания, а именно && =, || = и ?? =. TypeScript можно загрузить с NuGet или использовать npm со следующей командой, если это интересно: npm install -D typescript
Резюме
Даниэль Розенвассер говорит, что если кто-то еще не знаком с TypeScript, сейчас лучшее время для изучения этой технологии. У языка уже есть большое сообщество, много реального кода и масса ресурсов, на которых можно учиться. Более того, по словам Розенвассера, несмотря на множество новых функций версии 4.0, разработчикам для продуктивной работы нужно знать только основы.
Как стать программистом
Если вы хотите стать программистом, то рекомендуем вам ознакомиться и пройти наши курсы по программированию:
Курсы по JavaScript и jQuery. Инструменты Front-End разработчика
Курсы ро PHP и MySQL. Программирование сайтов. Back-End разработка