ฟังก์ชันประเภททั่วไปใน TypeScript

ในบทเรียนที่ผ่านมาเราได้สร้างฟังก์ชันอัตลักษณ์ ซึ่งรับพารามิเตอร์ประเภททั่วไป ไปแล้ว ตอนนี้เราจะเรียนรู้วิธีอธิบายประเภท ของฟังก์ชันดังกล่าวและสร้างอินเทอร์เฟซทั่วไป

ฟังก์ชันประเภททั่วไปสามารถ เขียนในรูปแบบฟังก์ชันลูกศรได้ด้วย มาลอง ประกาศตัวแปร func ซึ่งจะมี ประเภทเป็นฟังก์ชันทั่วไป:

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

let func: <T> (data: T) => T = myFunc;

สามารถใช้สัญลักษณ์อื่นสำหรับประเภททั่วไป ของตัวแปรดังกล่าวได้ สิ่งสำคัญคือต้องดูแล ไม่ให้ชื่อประเภทขัดแย้งกัน:

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

let func: <U> (data: U) => U = myFunc;

ประเภททั่วไปสามารถเขียนได้โดยการใส่ ลายเซ็นการเรียกและประเภทฟังก์ชันไว้ในวงเล็บปีกกา:

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

let func: {<U> (data: U): U} = myFunc;
Задание 1

เขียนฟังก์ชันสำหรับหาความยาวของ อาร์เรย์ประเภททั่วไปในรูปแบบต่างๆ ตามที่อธิบายในบทเรียนนี้