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