ตัวแปรประเภททั่วไปใน TypeScript

เมื่อเราสร้างฟังก์ชันประเภททั่วไป TypeScript บังคับให้เราใช้ ตัวแปรประเภทในเนื้อหาของฟังก์ชันอย่างถูกต้อง ดังนั้น จำเป็นต้องพิจารณาพฤติกรรม ของแต่ละพารามิเตอร์ที่ส่งผ่านเข้าไปในฟังก์ชัน จากมุมมองของประเภททั้งหมดที่มีให้เรา

มาสร้างฟังก์ชันเพื่อกำหนด ความยาวของตัวแปรประเภททั่วไปกัน:

typescriptfunction myFunc <T> (data: T): T {
  console.log(data.length); // ข้อผิดพลาด
  return data;
}

ข้อผิดพลาดเกิดขึ้นเนื่องจากไม่ใช่ทุก ประเภทที่มีความยาว ตัวอย่างเช่น สำหรับค่า แบบบูลีน การกระทำดังกล่าวเป็นไปไม่ได้ อย่างไรก็ตาม หากเราระบุประเภทให้ชัดเจนและระบุว่าเป็นอาร์เรย์ โค้ดจะทำงานได้อย่างถูกต้อง เพราะทุก อาร์เรย์ ไม่ว่าจะเป็นประเภทใดก็ตาม มี ความยาว:

typescriptfunction myFunc <T> (data: T[]): T[] {
  console.log(data.length); // 3
  return data;
}

console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Задание 1

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