«Наконец-то!»: в TypeScript 4.4 появилась долгожданная функция
Отмена ограничений для Symbol, статические блоки в классах и многое другое. Microsoft выпустила новую версию языка программирования TypeScript 4.4. В очередной сборке наконец-то появилась долгожданная разработчиками функция. Какая именно — читайте далее.
Основные новшества TypeScript 4.4
-
Control Flow Analysis псевдонимов условий и дискриминант
Теперь так называемые type guards
будут использовать control flow analysis
для выяснения типов во всех языковых структурах. Можно выносить «type guards» как отдельные переменные.
-
Отмена ограничений для Symbol и Template String Pattern Index Signature
Одна из самых долгожданных разработчикам фич наконец-то появилась в TypeScript. До сих пор индексные подписи были ограничены строчными и числовыми ключами, а в языке нельзя было индексировать объекты с помощью символьных ключей. Также нельзя было моделировать индексную сигнатуру некоторого подмножества строчных ключей.
В новой версии TypeScript сняли эти ограничения. Теперь можно индексировать подписи для символов и шаблонов строк.
-
Unknown Type в Catch Variables используется по умолчанию
Unknown
— безопасный вариант неизвестного типа, по сравнению с any
. В TypeScript 4.4 появился флаг useUnknownInCatchVariables
. Он переводит все ошибки в catch
тип unknown
.
Флаг является часть семейства параметров -strict
. Если проверить код с помощью -strict
, опция будет включена автоматически. Если неизвестная переменная не нужна в catch
, можно добавить исключения: аннотацию any
, чтобы отказаться от более суровых типов.
-
Статические блоки в классах
Версия TypeScript 4.4 обеспечивает поддержку блоков static
в классах. Это предстоящая функция ECMAScript, которая позволяет писать более сложный код инициализации для статических членов.
-
Inlay Hints
В TypeScript 4.4 добавилась поддержка подсказок, которые отражают полезную информацию в коде. Например, типы имен параметров и return types
.
Примечание: в настройках Visual Studio Code можно изменить время и место показа подсказок.
-
Подсказки по написанию кода для JavaScript
Теперь TypeScript выдает предложения по правописанию в простых файлах JavaScript без // @ts-check
или с выключенным checkJs
в проекте.
-
Обновления и улучшения
--help
Параметр --help
обновлен. Изменения коснулись описания параметров компилятора, изменен стиль меню --help
— добавлены цвета, изменены визуальные разделения.
Обновления и улучшения --help
-
Автоимпорт показывает фактические пути к Completion Lists
В новой версии completion item label
теперь показывает фактически путь к модулю, который будет использоваться для импорта.
Из плюсов разработчики также выделяют изменения QoL и повышение производительности.
С полным списком изменений и обновлений можете ознакомиться в официальном блоге компании Microsoft.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: