0Pricing
TypeScript Academy · บทเรียน

ชนิดยูเนียนและชนิดลิเทอรัล (บทนำการจำกัดชนิดเบื้องต้น)

รวมชนิดข้อมูลด้วยยูเนียน ใช้ชนิดลิเทอรัลเพื่อระบุค่าที่แน่นอน และใช้การจำกัดชนิดเบื้องต้น

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

บทนำ

เป้าหมาย: เรียนรู้วิธีรวมชนิดข้อมูลหลายชนิดด้วย union และจำกัดค่าด้วยชนิดลิเทอรัล เครื่องมือเหล่านี้ช่วยสร้าง API ที่ปลอดภัยยิ่งขึ้น

พื้นฐานยูเนียน

ชนิดยูเนียน ใช้ | เพื่ออนุญาตให้เป็นชนิดใดชนิดหนึ่งจากหลายชนิด ในที่นี้คือ string หรือ number

let value: string | number;
value = "hello";

value = 42;

// value = true; 
// Error, not allowed

ชนิดลิเทอรัล

ชนิดลิเทอรัล จำกัดค่าให้เป็นตัวเลือกที่กำหนดไว้อย่างเจาะจง มักใช้กับการตั้งค่าและ enum

let direction: "left" | "right";
direction = "left";

// direction = "up";
 // Error

พื้นฐานการจำกัดชนิด

การจำกัดชนิดให้แคบลง จะตรวจสอบชนิดขณะทำงาน (เช่น typeof) เพื่อให้เข้าถึงสมาชิกได้อย่างปลอดภัย

function printId(id: string | number) {
  if (typeof id === "string") {
    console.log(id.toUpperCase());
  } else {
    console.log(id.toFixed(2));
  }
}

printId("abc");
printId(123.456);

ยูเนียนแบบมีตัวจำแนก

ยูเนียนแบบมีตัวจำแนก จะรวมแท็กลิเทอรัลเข้ากับออบเจ็กต์ การจำกัดชนิดตาม kind ทำให้ TypeScript เข้าใจโครงสร้างได้ดีขึ้น

type Shape =
  | { kind: "circle"; radius: number }
  | { kind: "square"; size: number };

function area(shape: Shape): number {
  if (shape.kind === "circle") {
    return Math.PI * shape.radius ** 2;
  } else {
    return shape.size * shape.size;
  }
}

console.log(area({ kind: "circle", radius: 2 }));
console.log(area({ kind: "square", size: 3 }));

เหตุผลที่ใช้ยูเนียนและลิเทอรัล

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

ตรวจสอบยูเนียน

ตรวจสอบอย่างรวดเร็ว: ชนิดยูเนียนคืออะไร

ทบทวน

ทบทวน: ใช้ | สำหรับยูเนียน ใช้ชนิดลิเทอรัลสำหรับค่าที่เจาะจง และใช้การจำกัดชนิดให้แคบลงเพื่อแยกการทำงานอย่างปลอดภัย เครื่องมือเหล่านี้ทำให้ TS มีความยืดหยุ่นและปลอดภัย

คำถามที่พบบ่อย

บทเรียน “ชนิดยูเนียนและชนิดลิเทอรัล (บทนำการจำกัดชนิดเบื้องต้น)” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ชนิดยูเนียนและชนิดลิเทอรัล (บทนำการจำกัดชนิดเบื้องต้น)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ชนิดข้อมูลพื้นฐานและการระบุชนิด
  2. การอนุมานชนิดและ any เทียบกับ unknown
  3. ชนิดยูเนียนและชนิดลิเทอรัล (บทนำการจำกัดชนิดเบื้องต้น)
← กลับไปที่ TypeScript Academy