Генеричке типске променљиве у 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

Напишите функцију за преглед и испис свих елемената низа генеричког типа у конзолу.