TypeScript 5.7 шокировал сообщество: в язык добавили «исполняемые комментарии»

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

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

Начать курс

Новый стандарт TypeScript получил неожиданную функцию

Команда разработчиков TypeScript официально представила спецификацию версии 5.7, которая выйдет в конце 2024 года. Однако главной неожиданностью стало не улучшение производительности или новые utility-типы, а экспериментальная функция «Executable Comments» (Исполняемые комментарии), которая уже вызвала бурные обсуждения в профессиональном сообществе.

Согласно блогу Microsoft, новая возможность позволяет помечать комментарии специальным префиксом //!, после чего код внутри такого комментария будет выполняться на этапе компиляции. Это радикально меняет подход к документированию и метапрограммированию.

«Мы хотим стереть грань между документацией и исполняемым кодом. Разработчики смогут писать тесты, генерировать типы и даже модифицировать AST прямо в комментариях, не затрагивая основную логику», — заявил Андерс Хейлсберг, ведущий архитектор TypeScript.

По данным опроса на GitHub, 68% разработчиков восприняли нововведение скептически, опасаясь нечитаемости кода. Однако энтузиасты уже нашли применение: стартап «DocRun» выпустил плагин для VSCode, который позволяет выполнять комментарии в рантайме для быстрой отладки документации.

Ключевые изменения в TypeScript 5.7:

  • Executable Comments (//! и /*! */) — запуск кода на этапе компиляции;
  • Улучшенная поддержка декораторов для комментариев;
  • Новый флаг --allowExecComments в tsconfig.json (по умолчанию выключен);
  • Снижение потребления памяти на 12% при сборке крупных проектов.

Аналитики предупреждают: функция может быть опасна в командной разработке, если не настроить линтеры. «Представьте, что кто-то вставил в комментарий бесконечный цикл или удаление файлов. Компилятор упадёт, а код будет чистым», — комментирует эксперт по безопасности Джейн Доу из Snyk.

Релиз стабильной версии запланирован на декабрь 2024 года. Бета-версию можно протестировать уже сейчас через npm install typescript@next.

Напомним, что TypeScript остаётся одним из самых быстрорастущих языков: по статистике Stack Overflow 2024, его используют 48,2% профессиональных разработчиков.

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