Ընդհանրացված տիպի փոփոխականները TypeScript-ում

Երբ մենք ստեղծում ենք ընդհանրացված տիպի ֆունկցիա, TypeScript-ը ստիպում է մեզ ճիշտ օգտագործել տիպի փոփոխականները դրա մարմնում։ Հետևաբար, անհրաժեշտ է դիտարկել յուրաքանչյուր պարամետրի վարքագիծը, որն փոխանցվում է ֆունկցիային, բոլոր մեզ հասանելի տիպերի տեսանկյունից։

Եկեք ստեղծենք ֆունկցիա ընդհանրացված տիպի փոփոխականի երկարությունը որոշելու համար։

typescriptfunction myFunc <T> (data: T): T {
  console.log(data.length); // սխալ
  return data;
}

Սխալը առաջանում է, քանի որ ոչ բոլոր տիպերն ունեն length հատկություն։ Օրինակ՝ բուլյան արժեքների համար նման գործողություն անհնար է։ Սակայն եթե մենք ճշտենք տիպը և նշենք այն որպես զանգված, ապա կոդը կաշխատի ճիշտ։ Քանի որ յուրաքանչյուր զանգված, անկախ նրանից, թե ինչ տիպի է, ունի length հատկություն։

typescriptfunction myFunc <T> (data: T[]): T[] {
  console.log(data.length); // 3
  return data;
}

console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Задание 1

Գրեք ֆունկցիա ընդհանրացված տիպի զանգվածի բոլոր տարրերը կոնսոլում ցուցադրելու համար։