Διεπαφή Γενικευμένου Τύπου στο TypeScript

Τώρα ας προχωρήσουμε στην περιγραφή της διεπαφής γενικευμένου τύπου για την κλήση συνάρτησης. Ας ορίσουμε σ' αυτήν την υπογραφή κλήσης της συνάρτησης:

typescriptinterface IFunc {
  <T> (data: T): T;
}

Στη συνέχεια, ας δηλώσουμε τη συνάρτηση myFunc και ας γράψουμε τον κώδικα στο σώμα της:

typescriptfunction myFunc <T> (data: T): T {
  return data;
}

let func: IFunc = myFunc;

Έπειτα, ας γράψουμε τη μεταβλητή func, ο τύπος της οποίας αναφέρεται στο IFunc. Και η ίδια μεταβλητή καλεί τη συνάρτηση myFunc:

typescriptlet func: IFunc = myFunc;

Ο πλήρης κώδικας θα μοιάζει με αυτόν:

typescriptinterface IFunc {
  <T> (data: T): T;
}

function myFunc <T> (data: T): T {
  return data;
}

let func: IFunc = myFunc;

console.log(func('abcde'));

Μετά την εκτέλεση του κώδικα θα δούμε:

typescript'abcde'