Sobes.tech
Middle+

Υπάρχει μια συνάρτηση foo που δέχεται επιχειρήματα τύπου any και τα επιστρέφει; Πώς να κάνετε ώστε ο τύπος του αποτελέσματος να μην είναι any, αλλά να αντιστοιχεί στον τύπο του δοσμένου επιχειρήματος; Χρησιμοποιήστε Γενικούς τύπους.

sobes.tech AI

Απάντηση από AI

Чтобы функция foo принимала аргумент типа any и возвращала значение того же типа, нужно использовать Generic типы в TypeScript. Это позволит сохранить тип аргумента и использовать его как тип результата.

Пример:

function foo<T>(arg: T): T {
  return arg;
}

// Использование:
const num = foo(123);      // тип num: number
const str = foo('hello');  // тип str: string
const obj = foo({a: 1});   // тип obj: { a: number }

Здесь T — это параметр типа, который выводится из переданного аргумента, и функция возвращает значение того же типа.