PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Что такое any?

Продвинутые темы

`any` — это тип в TypeScript, который отключает проверку типов для значения. Переменной any можно присвоить что угодно и делать с ней любые операции.

Что делает any

Фактически возвращает поведение обычного JavaScript — компилятор перестаёт проверять типы:

let value: any = 5;
value = 'строка';   // ок
value.foo.bar();    // ок для компилятора, но упадёт в рантайме
value();            // ошибок типов нет

Чем опасен

  • Отключает всю пользу TypeScript: ошибки типов не ловятся.
  • «Заражает» соседний код: результат операций с any тоже any.
  • Скрывает баги до рантайма.

Когда допустим

  • Быстрая миграция legacy-кода на TypeScript.
  • Работа с действительно динамическими данными (редко).

Чем заменить

  • unknown — безопасная альтернатива: значение неизвестного типа, но перед использованием требует проверки/сужения.
let v: unknown = getData();
if (typeof v === 'string') v.toUpperCase(); // нужно сузить тип
  • Конкретные типы, дженерики, union-типы.

Коротко для собеседования

any отключает проверку типов и «заражает» соседний код, лишая TypeScript пользы. Использовать по минимуму; безопасная альтернатива — unknown, требующий проверки типа перед использованием.

Другие вопросы раздела