อินเทอร์เฟซและนามแฝงชนิดแบบเจเนอริก
ประยุกต์ใช้เจเนอริกกับอินเทอร์เฟซและชนิดแบบกำหนดเอง
อินเทอร์เฟซและนามแฝงชนิดแบบเจเนอริก เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
ยินดีต้อนรับ
ไวยากรณ์อินเทอร์เฟซชนิดทั่วไป
interface Box<T> {
value: T;
unwrap(): T;
}
const box: Box<number> = { value: 42, unwrap() { return this.value; } };นามแฝงชนิดข้อมูลแบบทั่วไป
type Maybe<T> = T | null | undefined;
type Pair<A, B> = { first: A; second: B };
const p: Pair<string, number> = { first: 'Alice', second: 30 };อินเทอร์เฟซคลังเก็บข้อมูลชนิดทั่วไป
interface Repository<T> {
findById(id: number): T | null;
findAll(): T[];
save(item: T): void;
delete(id: number): void;
}การนำอินเทอร์เฟซชนิดทั่วไปไปใช้
class UserRepo implements Repository<User> {
findById(id: number): User | null { return null; }
findAll(): User[] { return []; }
save(user: User): void {}
delete(id: number): void {}
}การขยายอินเทอร์เฟซชนิดทั่วไป
interface Named<T> { name: T; }
interface NamedAndAged<T> extends Named<T> { age: number; }ชนิดการตอบกลับแบบทั่วไป
type ApiResponse<T> = {
status: 'success' | 'error';
data: T;
timestamp: number;
};
const res: ApiResponse<User[]> = { status: 'success', data: [], timestamp: Date.now() };พารามิเตอร์ชนิดข้อมูลหลายตัวในอินเทอร์เฟซ
interface KeyValue<K, V> {
key: K;
value: V;
}
const kv: KeyValue<string, number> = { key: 'age', value: 30 };เมธอดชนิดทั่วไปในอินเทอร์เฟซที่ไม่ใช่ชนิดทั่วไป
interface Transformer {
transform<T, U>(input: T, fn: (val: T) => U): U;
}ชนิดข้อมูลทั่วไปแบบเรียกซ้ำ
interface TreeNode<T> {
value: T;
children: TreeNode<T>[];
}นามแฝงชนิดข้อมูลเทียบกับอินเทอร์เฟซสำหรับชนิดทั่วไป
ตรวจสอบอย่างรวดเร็ว
สรุปทบทวน
คำถามที่พบบ่อย
บทเรียน “อินเทอร์เฟซและนามแฝงชนิดแบบเจเนอริก” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “อินเทอร์เฟซและนามแฝงชนิดแบบเจเนอริก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “อินเทอร์เฟซและนามแฝงชนิดแบบเจเนอริก”
ประยุกต์ใช้เจเนอริกกับอินเทอร์เฟซและชนิดแบบกำหนดเอง คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “อินเทอร์เฟซและนามแฝงชนิดแบบเจเนอริก” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม
ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ฟังก์ชันเจเนอริก: พารามิเตอร์ชนิด
- อินเทอร์เฟซและนามแฝงชนิดแบบเจเนอริก
- ข้อจำกัดเจเนอริกด้วย extends
- พารามิเตอร์ชนิดเริ่มต้น