Этот вопрос проверяет глубокое понимание условных типов, которые позволяют создавать гибкие конструкции типов на основе логики.
Условные типы в TypeScript позволяют изменять тип в зависимости от условия. Это похоже на оператор if для типов, который помогает создавать сложные структуры с динамическими типами на основе определенных условий.
Условные типы — это мощный инструмент, который позволяет вычислять новый тип на основе логического условия. Они работают по принципу: если тип A совпадает с типом B, то результатом будет один тип, иначе — другой. Это полезно для создания универсальных структур данных и функций, где типы могут меняться в зависимости от входных данных. Условные типы часто используются в сочетании с обобщенными типами (generics) для увеличения гибкости кода.
Пример:
type IsString<T> = T extends string ? 'yes' : 'no';
type A = IsString<string>; // 'yes'
type B = IsString<number>; // 'no'Здесь условный тип IsString возвращает строку 'yes', если переданный тип является строкой, и 'no', если это не так.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию