อินเทอร์เฟซประเภททั่วไปใน 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'