TypeScript'теги жалпы типтик өзгөрмөлөр
Биз жалпы типтик функция түзгөндө, TypeScript бизди анын денесиндеги типтик өзгөрмөлөрдү туура колдонууга мажбурлайт. Демек, функцияга өткөрүлүп жаткан ар бир параметрдин жүрүм-турумун биздин колубуздагы бардык мүмкүн болгон типтердин көз карашы менен кароо керек.
Келгиле, жалпы T тибинин өзгөрмөсүнүн узундугун аныктоо үчүн функция түзөлү:
function myFunc <T> (data: T): T {
console.log(data.length); // ката
return data;
}
Ката, анткени бардык типтердин узундугу жок. Мисалы, бул аракет boolean маанилери үчүн мүмкүн эмес. Бирок, биз типти тактап, аны массив катары көрсөтсөк, анда код ишке ашат. Анткени ар бир массивдин, анын тиби кандай болбосун, узундугу бар:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Жалпы типтик массивдин бардык элементтерин кайталоо жана консолго чыгаруу үчүн функция жазыңыз.