Sobes.tech
Back to questions
Middle+
4

Как обстоят дела с TypeScript? Использовали ли дженерики, утилитарные типы, TypeGuard?

Companies where asked
Сбертех

Answer from AI

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 значительно повышает качество кода и снижает количество ошибок.