Назад к вопросам
Middle+
3
Как обстоят дела с TypeScript? Использовали ли дженерики, утилитарные типы, TypeGuard?
Компании, где спрашивали
Сбертех
Ответ от нейросети
sobes.tech AI
В работе с TypeScript активно использовал дженерики, утилитарные типы и TypeGuard.
- Дженерики позволяют создавать переиспользуемые компоненты с типами, задаваемыми при использовании. Например:
function identity<T>(arg: T): T {
return arg;
}
-
Утилитарные типы (например,
Partial<T>,Pick<T, K>,Omit<T, K>) помогают создавать новые типы на основе существующих, что упрощает работу с типами и повышает безопасность. -
TypeGuard — это функции, которые проверяют тип значения во время выполнения и помогают компилятору сузить тип. Например:
type Fish = { swim: () => void };
type Bird = { fly: () => void };
function isFish(pet: Fish | Bird): pet is Fish {
return (pet as Fish).swim !== undefined;
}
function move(pet: Fish | Bird) {
if (isFish(pet)) {
pet.swim();
} else {
pet.fly();
}
}
Использование этих возможностей TypeScript значительно повышает качество кода и снижает количество ошибок.