ตัวแปรประเภททั่วไปใน TypeScript
เมื่อเราสร้างฟังก์ชันประเภททั่วไป TypeScript บังคับให้เราใช้ ตัวแปรประเภทในเนื้อหาของฟังก์ชันอย่างถูกต้อง ดังนั้น จำเป็นต้องพิจารณาพฤติกรรม ของแต่ละพารามิเตอร์ที่ส่งผ่านเข้าไปในฟังก์ชัน จากมุมมองของประเภททั้งหมดที่มีให้เรา
มาสร้างฟังก์ชันเพื่อกำหนด ความยาวของตัวแปรประเภททั่วไปกัน:
function myFunc <T> (data: T): T {
console.log(data.length); // ข้อผิดพลาด
return data;
}
ข้อผิดพลาดเกิดขึ้นเนื่องจากไม่ใช่ทุก ประเภทที่มีความยาว ตัวอย่างเช่น สำหรับค่า แบบบูลีน การกระทำดังกล่าวเป็นไปไม่ได้ อย่างไรก็ตาม หากเราระบุประเภทให้ชัดเจนและระบุว่าเป็นอาร์เรย์ โค้ดจะทำงานได้อย่างถูกต้อง เพราะทุก อาร์เรย์ ไม่ว่าจะเป็นประเภทใดก็ตาม มี ความยาว:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
เขียนฟังก์ชันสำหรับวนซ้ำและแสดง องค์ประกอบทั้งหมดของอาร์เรย์ประเภททั่วไปใน คอนโซล