Интерфейси навъи умумии дар 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'