Sobes.tech
Back to questions
Middle
4

По TypeScript — дженерики, юнионы, утилитарные типы — всё использовал? Расскажи про дженерики, для чего использовал.

Companies where asked
Вбетон

Answer from AI

sobes.tech AI

Дженерики в TypeScript позволяют создавать компоненты и функции, которые работают с разными типами данных, сохраняя при этом типовую безопасность. Это особенно полезно для написания переиспользуемого кода, например, универсальных функций или компонентов.

Пример использования дженериков — функция, которая возвращает элемент массива по индексу, при этом тип возвращаемого значения совпадает с типом элементов массива:

function getElement<T>(arr: T[], index: number): T {
  return arr[index];
}

const numbers = [1, 2, 3];
const num = getElement(numbers, 1); // тип num — number

const strings = ['a', 'b', 'c'];
const str = getElement(strings, 0); // тип str — string

Юнионы (объединения типов) позволяют переменной принимать несколько типов, например string | number. Это удобно, когда функция может работать с разными типами входных данных.

Утилитарные типы — это встроенные типы TypeScript, которые помогают трансформировать другие типы, например Partial<T>, Readonly<T>, Pick<T, K> и др. Они упрощают работу с типами и делают код более выразительным.