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

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

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

Більше 8 млрд грн податків. Стільки сплатили резиденти Дія.City в І кварталі 2025 року

Резиденти Дія.City сплатили до бюджету понад 8 млрд грн податків в І кварталі 2025 року.…

18.04.2025

Китайських офісних працівників закликають менше працювати. Це має допомогти місцевій економіці

У Китаї закликають офісних працівників не працювати надто багато — держава сподівається, що вільний час…

18.04.2025

ChatGPT значно покращив пошук місць по фото. Це посилює проблеми конфіденційності

Експерти звертають увагу на тривожну тенденцію: люди все частіше використовують ChatGPT, щоб визначити місцезнаходження, зображене…

18.04.2025

Середовище розробки IntelliJ IDEA оновлено до версії 2025.1

Компанія JetBrains випустила нову версію мультимовного середовища розробки IntelliJ IDEA 2025.1. Оновлена IDE отримала численні…

18.04.2025

Discord впроваджує функцію сканування обличчя для перевірки віку користувачів

Платформа обміну миттєвими повідомленнями Discord впроваджує функцію перевірки віку за допомогою сканування обличчя. Зараз вона…

18.04.2025

Wikipedia випустила спеціальний датасет, щоб відволікти увагу ботів

Wikipedia намагається захистити себе від тисяч різноманітних ботів-скрейперів, які сканують дані цієї платформи для навчання…

18.04.2025