ชนิดข้อมูลแบบมีเงื่อนไข
สำรวจว่าชนิดข้อมูลแบบมีเงื่อนไขช่วยสร้างชนิดข้อมูลที่ปรับเปลี่ยนตามเงื่อนไขได้อย่างไร ทำให้คำจำกัดความชนิดข้อมูลยืดหยุ่นและนำกลับมาใช้ซ้ำได้
ชนิดข้อมูลแบบมีเงื่อนไข เป็นบทเรียน TypeScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน TypeScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
บทนำสู่ชนิดข้อมูลแบบมีเงื่อนไข
บทนำสู่ชนิดข้อมูลแบบมีเงื่อนไข
ชนิดข้อมูลแบบมีเงื่อนไขใน TypeScript ช่วยให้คุณสร้างชนิดข้อมูลที่ปรับเปลี่ยนแบบไดนามิกตามเงื่อนไข ทำให้โค้ดของคุณยืดหยุ่นและนำกลับมาใช้ใหม่ได้มากขึ้น
ชนิดข้อมูลเหล่านี้ใช้ไวยากรณ์ที่คล้ายกับตัวดำเนินการแบบมีเงื่อนไข (ternary) ของ JavaScript

ชนิดข้อมูลแบบมีเงื่อนไขคืออะไร
ชนิดข้อมูลแบบมีเงื่อนไขคืออะไร
ชนิดข้อมูลแบบมีเงื่อนไขช่วยให้คุณกำหนดชนิดข้อมูลที่ขึ้นอยู่กับชนิดข้อมูลอื่น ไวยากรณ์พื้นฐานคือ:
T extends U ? X : Y
ความหมายคือ หาก T ขยายมาจาก U ชนิดข้อมูลนั้นจะเป็น X มิฉะนั้นจะเป็น Y
ตัวอย่างพื้นฐานของชนิดข้อมูลแบบมีเงื่อนไข
ตัวอย่างพื้นฐานของชนิดข้อมูลแบบมีเงื่อนไข
ตัวอย่างง่าย ๆ มีดังนี้:
type IsString<T> = T extends string ? 'Yes' : 'No';
// Test cases
type A = IsString<string>; // 'Yes'
type B = IsString<number>; // 'No'การใช้ชนิดข้อมูลแบบมีเงื่อนไขกับการโอเวอร์โหลดฟังก์ชัน
การใช้ชนิดข้อมูลแบบมีเงื่อนไขกับการโอเวอร์โหลดฟังก์ชัน
ชนิดข้อมูลแบบมีเงื่อนไขช่วยทำให้การโอเวอร์โหลดฟังก์ชันง่ายขึ้น โดยกำหนดชนิดข้อมูลผลลัพธ์แบบไดนามิก:
type ReturnType<T> = T extends (...args: any[]) => infer R ? R : never;
function getData(): string {
return 'Hello';
}
type DataType = ReturnType<typeof getData>; // stringชนิดข้อมูลแบบมีเงื่อนไขชนิดกระจาย
ชนิดข้อมูลแบบมีเงื่อนไขชนิดกระจาย
เมื่อใช้ชนิดข้อมูลแบบมีเงื่อนไขกับชนิดข้อมูลยูเนียน ชนิดข้อมูลเหล่านี้จะถูกกระจายไปยังสมาชิกแต่ละตัวของยูเนียน:
type ToArray<T> = T extends any ? T[] : never;
type A = ToArray<string | number>;
// A = string[] | number[]การรวมชนิดข้อมูลแบบมีเงื่อนไขเข้ากับชนิดข้อมูลแบบแมป
การรวมชนิดข้อมูลแบบมีเงื่อนไขเข้ากับชนิดข้อมูลแบบแมป
คุณสามารถรวมชนิดข้อมูลแบบมีเงื่อนไขเข้ากับชนิดข้อมูลแบบแมป เพื่อสร้างการแปลงชนิดข้อมูลที่ทรงพลังได้:
type User = {
id: number;
name: string;
isAdmin?: boolean;
};
type MakeRequired<T> = {
[K in keyof T]-?: T[K] extends undefined ? never : T[K];
};
type RequiredUser = MakeRequired<User>;
// { id: number; name: string; isAdmin: never; }กรณีการใช้งานทั่วไปของชนิดข้อมูลแบบมีเงื่อนไข
กรณีการใช้งานทั่วไปของชนิดข้อมูลแบบมีเงื่อนไข
ชนิดข้อมูลแบบมีเงื่อนไขมักใช้สำหรับ:
- อนุมานชนิดข้อมูลผลลัพธ์หรือพารามิเตอร์
- แปลงชนิดข้อมูลยูเนียนและอินเตอร์เซกชัน
- สร้างชนิดข้อมูลอรรถประโยชน์ เช่น
Exclude,ExtractและNonNullable
งานฝึกปฏิบัติ
งานฝึกปฏิบัติ
สร้างชนิดข้อมูลแบบมีเงื่อนไขที่ตรวจสอบว่าชนิดข้อมูลเป็นอาร์เรย์หรือไม่ หากใช่ ให้คืนค่าชนิดข้อมูลของสมาชิกในอาร์เรย์ มิฉะนั้นให้คืนค่าชนิดข้อมูลนั้นเอง
ยินดีด้วย!
ยินดีด้วย!
คุณได้เรียนรู้วิธีใช้ชนิดข้อมูลแบบมีเงื่อนไขเพื่อสร้างคำจำกัดความชนิดข้อมูลแบบไดนามิกและนำกลับมาใช้ใหม่ได้ใน TypeScript แล้ว ฝึกฝนแนวคิดเหล่านี้เพื่อเขียนโค้ด TypeScript ที่ทรงพลังและยืดหยุ่นยิ่งขึ้น

คำถามที่พบบ่อย
บทเรียน “ชนิดข้อมูลแบบมีเงื่อนไข” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ชนิดข้อมูลแบบมีเงื่อนไข” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ชนิดข้อมูลแบบมีเงื่อนไข”
สำรวจว่าชนิดข้อมูลแบบมีเงื่อนไขช่วยสร้างชนิดข้อมูลที่ปรับเปลี่ยนตามเงื่อนไขได้อย่างไร ทำให้คำจำกัดความชนิดข้อมูลยืดหยุ่นและนำกลับมาใช้ซ้ำได้ คุณปฏิบัติ TypeScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน
บทเรียน “ชนิดข้อมูลแบบมีเงื่อนไข” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม
ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การจำกัดชนิดข้อมูลขั้นสูง
- ความสามารถขั้นสูงของคลาส
- ชนิดข้อมูลแบบมีเงื่อนไข