> Какие сущности TypeScript остаются в рантайме после транспиляции (TypeScript)

Уровень: middle · Роль: frontend · Категория: Технические вопросы

Компании: ЛОЦИЯ

Стек: TypeScript

> Пример ответа

В TypeScript после транспиляции в JavaScript в рантайме остаются только те сущности, которые имеют прямое отражение в JS. К ним относятся:

  1. Классы - полностью сохраняются, так как ES6 классы являются частью JavaScript.

  2. Перечисления (enum)- компилируются в объекты JavaScript, если не используется const enum (который инлайнится).

  3. Пространства имен (namespace) - компилируются в объекты с вложенными свойствами.

  4. Декораторы- остаются как функции, если включена опция experimentalDecorators.

  5. Типы, интерфейсы, дженерики, type aliases - полностью удаляются, так как существуют только на этапе проверки типов.

  6. Модификаторы доступа (public, private, protected) - удаляются, так как не имеют аналогов в JS (кроме приватных полей с #).

  7. Абстрактные классы и методы - компилируются в обычные классы, абстракция теряется.

Таким образом, в рантайме остаются только конструкции, которые имеют смысл в JavaScript: классы, enum (кроме const), namespace, декораторы и обычные функции/объекты. Всё, что связано с системой типов, исчезает.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью