Обобщенные типовые переменные в TypeScript
Когда мы создаем функцию обобщенного типа, TypeScript принуждает нас к правильному использованию типовых переменных в ее теле. Следовательно, нужно рассматривать поведение каждого параметра, передаваемого в функцию, с точки зрения всех доступных нам типов.
Давайте создадим функцию для определения длины переменной обобщенного типа:
function myFunc <T> (data: T): T {
console.log(data.length); // ошибка
return data;
}
Ошибка возникает из-за того, что не все типы имеют длину. Например, для булевых значений такое действие невозможно. Однако если мы уточним тип и укажем его как массив, то код сработает правильно. Ведь у каждого массива, неважно какого он типа, есть длина:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Напишите функцию для перебора и вывода всех элементов массива обобщенного типа в консоль.