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

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 видає помилку, якщо зустрічає твердження імпорту.

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

Стався масштабний збій Starlink. Спостерігаються проблеми в роботі по всьому світу

Увечері 24 липня по всьому світу почали повідомляти про збій роботи Starlink. Проблеми в роботі…

24.07.2025

У Верховній раді зареєстровано законопроєкт про заборону російського ПЗ

У Раді зареєстрували законопроєкт, який забороняє використовувати та продавати в Україні ІТ-продукти, пов’язані з росією.…

24.07.2025

Microsoft планує масштабне оновлення Visual Studio

Microsoft планує серйозне оновлення інтегрованого середовища розробки Visual Studio. Журналісти видання Business Insider ознайомились з…

24.07.2025

AWS пропонує безкоштовний тариф з віртуальними $200 для тестування сервісів та розгортання програм

Хмарний сервіс Amazon Web Services представив новий безкоштовний тариф — AWS Free Tier. Він дозволяє…

24.07.2025

Microsoft випустила інструмент GitHub Spark для створення програм за текстовим описом

Microsoft перевела в публічний доступ інструмент на базі штучного інтелекту GitHub Spark, призначений для створення…

24.07.2025

Користувачі ChatGPT тепер можуть персоналізувати діалог з чат-ботом

OpenAI запускає нову функцію персоналізації у веб-додатку ChatGPT. Вона дозволяє обирати між кількома особистостями, з…

24.07.2025