Обобщени типови променливи в 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 ]
Напишете функция за обхождане и извеждане на всички елементи от масив с обобщен тип в конзолата.