Typowe zmienne ogólne w TypeScript
Gdy tworzymy funkcję typu ogólnego, TypeScript wymusza na nas poprawne wykorzystanie typowych zmiennych w jej ciele. W związku z tym, należy rozważać zachowanie każdego parametru przekazywanego do funkcji, z punktu widzenia wszystkich dostępnych nam typów.
Stwórzmy funkcję do określania długości zmiennej typu ogólnego:
function myFunc <T> (data: T): T {
console.log(data.length); // błąd
return data;
}
Błąd występuje ponieważ nie wszystkie typy mają długość. Na przykład, dla wartości logicznych taka operacja jest niemożliwa. Jednakże jeśli doprecyzujemy typ i wskażemy go jako tablicę, to kod zadziała poprawnie. W końcu każda tablica, niezależnie od jej typu, ma długość:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Napisz funkcję do iterowania i wypisywania wszystkich elementów tablicy typu ogólnego do konsoli.