TypeScript 5.5+: изолированные объявления и далее
Разберитесь в isolatedDeclarations и последних улучшениях производительности
«TypeScript 5.5+: изолированные объявления и далее» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.
Обзор TypeScript 5.5
В TypeScript 5.5 (июнь 2024 года) появились автоматически выводимые предикаты типов, поддержка изолированных объявлений, проверка синтаксиса регулярных выражений и значительные улучшения производительности редактора.
// npm install typescript@5.5Автоматически выводимые предикаты типов
Теперь TS 5.5 может автоматически выводить предикаты типов is из тел функций, сужающих тип параметра, без явной аннотации.
// Before 5.5: had to annotate manually
function isString(val: unknown): val is string {
return typeof val === "string";
}
// After 5.5: TypeScript infers the predicate automatically
function isString(val: unknown) {
return typeof val === "string";
}
// Inferred: (val: unknown) => val is stringisolatedDeclarations: true
В TS 5.5 появилась официальная поддержка isolatedDeclarations, требующая явных типов возвращаемых значений у экспортируемых сущностей для параллельной генерации объявлений по отдельным файлам.
{
"compilerOptions": {
"isolatedDeclarations": true
}
}
// Exported functions without return types now cause an errorПроверка синтаксиса регулярных выражений
TS 5.5 сообщает о синтаксических ошибках в литералах регулярных выражений, выявляя распространённые ошибки в регулярных выражениях во время компиляции.
const re = /(?<name>\w+)/; // OK — named capture group
const bad = /[z-a]/; // Error: invalid character class rangeСужение типов в потоке управления для константных индексов
TS 5.5 улучшил сужение типов при обращении к свойствам объектов и индексам массивов с константными значениями.
const obj = { x: Math.random() > 0.5 ? "a" : "b" };
if (obj.x === "a") {
// TS 5.5: obj.x is narrowed to "a" here
console.log(obj.x.toUpperCase());
}TypeScript 5.6 и последующие версии
TypeScript продолжает выпускать версии каждый квартал, постепенно улучшая вывод типов, производительность и возможности языка в соответствии с предложениями ECMAScript.
# Quarterly release cadence:
# 5.5: June 2024
# 5.6: September 2024
# 5.7: December 2024
# 5.8: March 2025Отслеживание плана развития TypeScript
Команда TypeScript публикует план развития каждого выпуска на GitHub. Его отслеживание помогает заранее узнать о будущих возможностях.
# TypeScript iteration plans:
# github.com/microsoft/TypeScript/issues?q=Iteration+PlanСоответствие ECMAScript
TypeScript отслеживает предложения ECMAScript. Предложения 3-го этапа (например, декораторы, using и Object.groupBy) обычно появляются в TypeScript вскоре после достижения 3-го этапа.
# TC39 proposals: https://tc39.es/proposals/
# Stage 3 = TypeScript eligible for inclusionБезопасное обновление TypeScript
При обновлении версий TypeScript выполните tsc --noEmit и перед фиксацией обновления версии проверьте журнал изменений TypeScript на наличие несовместимых изменений.
npm install typescript@latest
npx tsc --noEmit
# Review: https://www.typescriptlang.org/docs/handbook/release-notes/overview.htmlИспользование ночной версии @typescript
Используйте ночную сборку TypeScript, чтобы тестировать будущие возможности или сообщать об ошибках до официального выпуска.
npm install typescript@next
# Use nightly in a separate branch or experimental projectРесурсы сообщества
Следите за новостями TypeScript по официальным выпускам, в блоге TypeScript, в Total TypeScript Matt Pocock и в сообществе TypeScript в Discord.
# Resources:
# typescriptlang.org/docs
# devblogs.microsoft.com/typescript
# totaltypescript.com
# discord.gg/typescriptИтоги: TypeScript 5.5+
В TS 5.5 появились автоматически выводимые предикаты типов, официальная поддержка isolatedDeclarations, проверка синтаксиса регулярных выражений и улучшенное сужение типов. TypeScript выпускает обновления каждый квартал — следите за планом развития и безопасно обновляйте версию с помощью проверок --noEmit.
Быстрая проверка
Что TypeScript 5.5 делает с функциями-предикатами типов?
Чему вы научились
В TypeScript 5.5+ появились автоматически выводимые предикаты типов, isolatedDeclarations для параллельных инструментов, проверка синтаксиса регулярных выражений и улучшенное сужение типов в потоке управления. Следите за квартальным планом развития, обновляйте версию с проверкой --noEmit и участвуйте в сообществе TypeScript, чтобы оставаться в курсе.
Часто задаваемые вопросы
Урок «TypeScript 5.5+: изолированные объявления и далее» бесплатный?
Да — полный текст урока «TypeScript 5.5+: изолированные объявления и далее» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «TypeScript 5.5+: изолированные объявления и далее»?
Разберитесь в isolatedDeclarations и последних улучшениях производительности Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «TypeScript 5.5+: изолированные объявления и далее»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- TypeScript 5.0: стандартные декораторы и параметры типов const
- TypeScript 5.1–5.2: улучшенный вывод типов
- TypeScript 5.3–5.4: новое сужение типов и NoInfer
- TypeScript 5.5+: изолированные объявления и далее