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

ทูเพิล: อาร์เรย์แบบมีชนิดข้อมูลและความยาวคงที่

กำหนดทูเพิลสำหรับข้อมูลที่มีโครงสร้างและตำแหน่งที่ทราบแน่นอน

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

ยินดีต้อนรับ

ทูเพิลคืออาร์เรย์ที่มีจำนวนสมาชิกตายตัว โดยแต่ละตำแหน่งมีชนิดเฉพาะ เหมาะอย่างยิ่งสำหรับข้อมูลที่มีโครงสร้าง เช่น พิกัดหรือคู่คีย์-ค่า

การกำหนดทูเพิล

ชนิดทูเพิลจะแสดงชนิดของสมาชิกแต่ละตัวตามลำดับ ความยาวจะตายตัว และแต่ละตำแหน่งต้องเก็บค่าชนิดที่ประกาศไว้
const point: [number, number] = [10, 20];
const entry: [string, number] = ['age', 25];

การเข้าถึงสมาชิกทูเพิล

เข้าถึงสมาชิกทูเพิลด้วยดัชนี TypeScript ทราบชนิดของแต่ละตำแหน่ง
const pair: [string, number] = ['Alice', 30];
const name: string = pair[0]; // string
const age: number = pair[1];  // number

การแยกโครงสร้างทูเพิล

การแยกโครงสร้างทูเพิลทำให้ตัวแปรแต่ละตัวมีชนิดที่อนุมานได้เฉพาะเจาะจงตามตำแหน่ง
const [x, y]: [number, number] = [5, 10];
console.log(x + y); // 15

ทูเพิลเทียบกับอาร์เรย์

อาร์เรย์มีจำนวนสมาชิกชนิดเดียวกันที่เปลี่ยนแปลงได้ ส่วนทูเพิลมีจำนวนสมาชิกตายตัว ซึ่งอาจมีชนิดแตกต่างกันในตำแหน่งที่กำหนด
const arr: number[] = [1, 2, 3, 4];   // variable length
const tup: [number, string] = [1, 'a']; // fixed: 2 elements

สมาชิกทูเพิลที่เลือกได้

ทำเครื่องหมายสมาชิกทูเพิลว่าเลือกได้ด้วย `?` สมาชิกที่เลือกได้ต้องอยู่หลังสมาชิกที่จำเป็น
type Named = [string, string?]; // name, optional nickname
const a: Named = ['Alice'];
const b: Named = ['Bob', 'Bobby'];

สมาชิกส่วนที่เหลือในทูเพิล

ทูเพิลสามารถมีสมาชิกส่วนที่เหลือเพื่อรวบรวมสมาชิกท้ายทูเพิลจำนวนเท่าใดก็ได้ที่มีชนิดเฉพาะ
type StringAndNumbers = [string, ...number[]];
const data: StringAndNumbers = ['scores', 90, 85, 78];

สมาชิกทูเพิลที่มีป้ายกำกับ

TypeScript 4.0 เพิ่มสมาชิกทูเพิลที่มีป้ายกำกับ ป้ายกำกับช่วยให้อ่านได้ง่ายขึ้นโดยไม่ส่งผลต่อระบบชนิด
type Range = [start: number, end: number];
const r: Range = [0, 100];

ทูเพิลแบบอ่านอย่างเดียว

เพิ่ม `readonly` เพื่อป้องกันการเปลี่ยนแปลงทูเพิลหลังจากสร้างแล้ว
const origin: readonly [number, number] = [0, 0];
// origin[0] = 5; // Error

ทูเพิลเป็นค่าที่ฟังก์ชันส่งกลับ

การคืนค่าทูเพิลจากฟังก์ชันเป็นรูปแบบที่ใช้ในฮุกของ React และฟังก์ชันอรรถประโยชน์ เพื่อคืนค่าหลายค่าที่มีชนิดแตกต่างกัน
function useCounter(): [number, () => void] {
  let count = 0;
  return [count, () => { count++; }];
}

การอนุมานทูเพิลด้วย as const

หากไม่มี `as const` ลิเทอรัลของทูเพิลอาจถูกขยายเป็นชนิดอาร์เรย์ได้ ใช้ `as const` เพื่ออนุมานชนิดทูเพิลที่ตรงตามจริง
const pair = [1, 'hello'] as const;
// type: readonly [1, 'hello'] — not (number | string)[]

ตรวจสอบอย่างรวดเร็ว

TypeScript อนุมานอะไรให้กับ `const t = [1, 'hello']` เมื่อไม่มีคำกำกับชนิดใด ๆ

สรุปทบทวน

ทูเพิลกำหนดอาร์เรย์ที่มีความยาวคงที่และตำแหน่งที่มีชนิดกำกับ ใช้สำหรับพิกัด คู่คีย์-ค่า และฟังก์ชันที่คืนค่าหลายค่า เพิ่ม readonly เพื่อป้องกันการเปลี่ยนแปลง และใช้ as const เพื่ออนุมานชนิดทูเพิลแบบลิเทอรัล

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

บทเรียน “ทูเพิล: อาร์เรย์แบบมีชนิดข้อมูลและความยาวคงที่” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ทูเพิล: อาร์เรย์แบบมีชนิดข้อมูลและความยาวคงที่” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส TypeScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส TypeScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ทูเพิล: อาร์เรย์แบบมีชนิดข้อมูลและความยาวคงที่”

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

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน TypeScript Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน TypeScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “ทูเพิล: อาร์เรย์แบบมีชนิดข้อมูลและความยาวคงที่” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน TypeScript Academy นี้ได้ไหม

ได้ บทเรียน TypeScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. อาร์เรย์แบบมีชนิดข้อมูล: T[] และ Array
  2. อาร์เรย์ Readonly และข้อมูลที่แก้ไขไม่ได้
  3. ทูเพิล: อาร์เรย์แบบมีชนิดข้อมูลและความยาวคงที่
  4. Enum: ค่าคงที่ตัวเลขและข้อความ
← กลับไปที่ TypeScript Academy