Рубріки: Новини

TypeScript 5.8 вийшов у бета-версії

Дмитро Сімагін

Microsoft перевела TypeScript 5.8 на стадію бета-тестування. Щоб почати роботу з бета-версією, розробники можуть виконати таку команду в NPM: npm install -D typescript@beta. Про це повідомляє InfoWorld.

Згідно з графіком випуску, реліз-кандидат має вийти 11 лютого, а стабільний реліз — 25 лютого. TypeScript 5.8 слідує за випуском TypeScript 5.7, який випущено в листопаді минулого року. 

Завдяки перевіреним поверненням для умовних і доступних типів TypeScript тепер підтримує обмежену форму перевірки умовних типів у операторах повернення. Це дозволить уникнути твердження типу. Проблема з твердженнями типу полягає в тому, що вони можуть подолати законні перевірки, які в іншому випадку виконав би TypeScript. У TypeScript 5.8, коли тип повернення функції є загальним умовним типом, TypeScript тепер буде використовувати аналіз потоку керування для загальних параметрів.

Microsoft відзначає деякі обмеження цієї функції. Наприклад, спеціальна перевірка відбувається лише тоді, коли один параметр пов’язаний із типом, який перевіряється, в умовному типі або якщо він використовується як ключ у індексованому типі доступу. При використанні умовного типу повинні існувати принаймні дві перевірки, з термінальною гілкою, включаючи never. Тип параметра має бути загальним і обмежуватися типом об’єднання. Загалом, перевірки не відбуватимуться, якщо певний тип пов’язано з параметром типу.

Інші функції, які з’являться в TypeScript 5.8, включають наступне:

  • Впроваджується оптимізація, щоб зменшити час створення програми, а також для оновлення програми на основі зміни файлу в –-watch сценарії режиму або редактора. TypeScript тепер уникає будь-яких відокремлень масивів, які можуть бути залучені під час нормалізації шляхів. Крім того, коли вносяться зміни, які принципово не змінюють фундаментальну структуру проекту, TypeScript тепер уникає повторної перевірки параметрів, наданих йому.
  • TypeScript додає підтримку require() модулів ECMAScript у –-module nodenext. Якщо –-module nodenext ввімкнено, TypeScript уникатиме видачі помилок під час require() викликів файлів ESM.
  • TypeScript представляє стабільний –-module node18 прапор. Користувачі Node.js 18 можуть скористатись прапором, що пропонує стабільну точку відліку, яка не включає певну поведінку, яка є в –-module next. Серед цих дій є поведінка require() модулів ECMAScript, яка заборонена в node18, але дозволена в nodenext.
  • TypeScript вводить –-erasableSyntaxOnly прапор. Якщо його ввімкнено, TypeScript дозволить використовувати лише конструкції, які можна стерти з файлу, і видасть помилку, якщо з’являться конструкції, які неможливо стерти.
  • Node.js 22 більше не приймає твердження імпорту за допомогою синтаксису assert. І якщо –module nodenext ввімкнено у TypeScript 5.8, то TypeScript видає помилку, якщо зустрічає твердження імпорту.

Останні статті

НАТО роздає мільйони: шукають українські стартапи для розробки технології протидії БПЛА

Український кластер оборонних технологій Brave1 спільно з директоратом інновацій НАТО запускає перший конкурс у рамках…

25.03.2026

Visual Studio Code 1.113: нові теми оформлення, вкладені субагенти та додаткові налаштування ШІ

Microsoft представила свіжий реліз Visual Studio Code 1.113. В оновленні компанія внесла покращення в інтерфейс…

25.03.2026

Наземний дрон мінер «Бандура» проти класичних методів мінування

Класичні методи мінування часто вимагають виходу людей у небезпечну зону, витрат часу на підхід/відхід та…

25.03.2026

Anthropic додає в Claude Code автоматичний режим

Компанія Anthropic додає в свій інструмент кодування Claude Code автоматичний режим, який працює як з…

25.03.2026

Справа не лише в конкуренції: OpenAI закриває Sora по іншій причині

Вчорашня новина про те, що OpenAI закриває генератор відео Sora, нова версія якого була представлена…

25.03.2026

Браузер Firefox тепер має вбудований безкоштовний VPN зі щомісячним лімітом даних 50 Гб

Компанія Mozilla робить крок у бік посилення приватності користувачів, анонсувавши безкоштовний вбудовний VPN-сервіс у новій…

25.03.2026