Microsoft выпустила обновление TypeScript 2.5
Новости Отредактировано
Microsoft выпустила новую версию TypeScript. Собрали для вас основные нововведения, появившиеся по сравнению с прошлой версией.
2К открытий2К показов
Microsoft анонсировала выход новой версии TypeScript — надстройки над JavaScript, которая привносит статические типы и надежные инструменты. Ниже представлен список основных изменений по сравнению с версией 2.4.
Рефакторинг Extract Method и Extract Function
Помогает сделать объёмную перезапись кода тривиальной:
Новые быстрые исправления
TypeScript не поддерживает JSDoc-типы, но теперь он может их понимать и предлагать исправленный вариант:
Также подобные исправления полезны в случаях, когда пользователи пытаются неправильно ссылаться на тип свойства другого объекта. Например, используя данный
интерфейс, пользователь захотел объявить переменную xyz
, чей тип связан с типом bar
. Он может написать неправильную конструкцию:
TypeScript же автоматически предложит правильную версию:
Поддержка приведения JSDoc-типов в файлах JavaScript
Возможность приведения типов (type assertion) отсутствовала в предыдущих версиях. Она необходима, когда пользователь знает больше о типе данных, чем компилятор, и сообщает ему об этом. Рассмотрим пример:
TypeScript корректно определил, что пользователь вызывает несуществующий метод типа number
. Для обработки подобной ситуации, а точнее, для аварийной остановки во время выполнения, пользователь может воспользоваться приведением типов:
Синтаксис обработчика:
Если пользователь разрешил JavaScript проверку файла, неверное приведение типов будет обнаружено:
Необязательные условия в catch
Обратите внимание, что на unusedError
в данном примере нет ни одной ссылки. Пользователь теперь может просто игнорировать описание ошибок в блоке catch
, делая код более читабельным:
Задублированные и перенаправленные пакеты
Компилятор теперь сможет проверять, загружены ли файлы из «идентичных» пакетов. Если один из файлов загружен из пакета c package.json
, содержащего такие же имена и версию полей, что и ранее встреченный пакет, то TypeScript переходит к обработке самого верхнего в иерархии из них. Это поможет решить проблему, когда оба пакета содержат идентичные описания классов, но один из которых содержит private
объекты, что в свою очередь влияет на неопределённость использования.
В качестве приятного бонуса данная функция сокращает потребление памяти и времени работы компилятора за счёт прекращения загрузки .d.ts
файлов из дубликатов.
Флаг компилятора --preserveSymlinks
Данный флаг переносит в TypeScript функциональность флага --preserve-symlinks
из Node.js, а именно позволяет устанавливать зависимости на основе расположения символических ссылок, а не иерархии дерева. Этот флаг также имеет противоположный эффект флагу --resolve.symlinks
инструмента Webpack (при установке --preserveSymlinks
в true
, --resolve.symlinks
автоматически переводится в false
, и наоборот).
Установка
Для начала использования новой версии её достаточно загрузить через менеджер пакетов NuGet или воспользоваться командой npm:
TypeScript 2.5 может быть установлен напрямую в среды разработок Visual Studio 2015 Update 3 и Visual Studio 2017 версии 15.2 и выше. Любители редакторов кода Visual Studio Code и Sublime Text уже сейчас могут настроить их для использования новой версии. Для запуска в других редакторах предлагается посетить страничку разработчиков.
Наслаждайтесь!
Как и всегда, полный список изменений доступен на wiki-страничке языка. Дорожную карту и будущее языка интересующиеся могут найти на GitHub.
2К открытий2К показов