Συνάρτηση Γενικευμένου Τύπου στο TypeScript
Στα προηγούμενα μαθήματα, δημιουργήσαμε μια συνάρτηση ταυτότητας, που δέχονταν παραμέτρους γενικευμένου τύπου. Τώρα θα μάθουμε να περιγράφουμε τον τύπο μιας τέτοιας συνάρτησης και να δημιουργούμε γενικευμένα interfaces.
Μια συνάρτηση γενικευμένου τύπου μπορεί επίσης
να γραφτεί και σε μορφή βέλους. Ας
δηλώσουμε μια μεταβλητή func, της οποίας
ο τύπος θα είναι γενικευμένης συνάρτησης:
function myFunc <T> (data: T): T {
return data;
}
let func: <T> (data: T) => T = myFunc;
Μπορεί να οριστεί και ένα άλλο σύμβολο για τον γενικευμένο τύπο μιας τέτοιας μεταβλητής. Το κύριο πράγμα είναι να προσέχετε ώστε τα ονόματα των τύπων να μην έρχονται σε διένεξη:
function myFunc <T> (data: T): T {
return data;
}
let func: <U> (data: U) => U = myFunc;
Ο γενικευμένος τύπος μπορεί να γραφτεί, περικλείοντας την υπογραφή κλήσης και τον τύπο της συνάρτησης σε άγκιστρα:
function myFunc < T > (data: T): T {
return data;
}
let func: {<U> (data: U): U} = myFunc;
Γράψτε μια συνάρτηση για τον προσδιορισμό του μήκους ενός πίνακα γενικευμένου τύπου στις παραλλαγές, που περιγράφονται σε αυτό το μάθημα.