ტიპების ზოგადი ცვლადები 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 ]
დაწერეთ ფუნქცია ზოგადი ტიპის მასივის ყველა ელემენტის გამოსათვლელად და კონსოლში გამოსატანად.