generic типы

Функция может работать с разными типами данных
функция работает с массивом типа Т, параметр Т динамически подстраивается под передаваемый параметр

​const arrayOfNumbers: Array<number> = [1, 1, 2, 3, 5];
const arrayOfStrings: Array<string> = ['Hello', 'user'];

function reverse<T>(array: T[]):T[]  {
    return array.reverse();
}

reverse(arrayOfNumbers);
reverse(arrayOfStrings);