Вышел TypeScript 5.0: полный разбор главных нововведений

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Вышел TypeScript 5.0: что нужно знать разработчику

Команда TypeScript представила релиз версии 5.0 — первый крупный апдейт в новой системе нумерации. Вместо привычных 4.х разработчики решили перейти к 5.0, подчеркнув масштаб внутренних изменений. Новинка принесла несколько долгожданных фич, а также существенно ускорила работу компилятора. Разберём главные изменения, которые стоит внедрить в свои проекты уже сегодня.

Ключевые нововведения TypeScript 5.0

  • Декораторы (ECMAScript-совместимые) — теперь TypeScript поддерживает стандартные декораторы, соответствующие предложению TC39. Старые экспериментальные декораторы остаются для обратной совместимости, но новым проектам рекомендуется переходить на новый синтаксис.
  • const type parameters — появилась возможность объявлять дженерики с модификатором const. Это позволяет точнее выводить типы литералов, особенно при работе с массивами и кортежами. Например, const tuple = <const T,>(...args: T) => args сохранит точную длину кортежа.
  • Улучшение производительности — TypeScript 5.0 стал быстрее за счёт оптимизации внутренних структур данных и уменьшения нагрузки на сборщик мусора. В некоторых проектах скорость сборки выросла на 10-25%.
  • Поддержка нескольких конфигураций в одном проекте — теперь можно указывать несколько tsconfig.json в секции references без дублирования настроек. Это упрощает монорепозитории и микросервисные архитектуры.
  • Улучшенная работа с enums — все enum-значения теперь являются объединениями литеральных типов. Это улучшает проверку типов и автодополнение в редакторах кода.
  • JSDoc imports — в файлах JavaScript, использующих @type и @param, теперь можно импортировать типы из других файлов через import('./types').SomeType. Это делает JSDoc-типизацию значительно более мощной.

Что изменилось в синтаксисе и совместимости

Релиз TypeScript 5.0 не содержит ломающих изменений для кода, написанного на TypeScript 4.9. Однако стоит обратить внимание на несколько моментов:

  • Удалена поддержка старой системы декораторов (если вы не используете экспериментальный флаг experimentalDecorators).
  • Файлы с расширением .ts теперь могут содержать экспорт по умолчанию для асинхронных функций без дополнительных обёрток.
  • Улучшена интеграция с Node.js ESM — TypeScript 5.0 корректно обрабатывает .mts и .cts расширения.

Как обновиться до TypeScript 5.0

Обновление не требует серьёзных усилий. Достаточно выполнить в терминале:

npm install typescript@latest --save-dev

После установки рекомендуется проверить проект на наличие ошибок с помощью команды tsc --noEmit. Если вы используете старые декораторы, добавьте в tsconfig.json флаг "experimentalDecorators": true для сохранения совместимости.

Заключение

TypeScript 5.0 — это значительный шаг вперёд для экосистемы. Новые декораторы, const type parameters и улучшенная производительность делают его одним из самых важ

Рекомендуем библотеки