TypeScript Academy · บทเรียน

TypeScript 5.5+: คำประกาศแบบแยกส่วนและสิ่งที่เพิ่มขึ้น

ทำความเข้าใจ isolatedDeclarations และการปรับปรุงประสิทธิภาพล่าสุด

บทเรียน 4 จาก 414 ขั้นตอน

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

ภาพรวม TypeScript 5.5

TypeScript 5.5 (มิถุนายน 2024) เพิ่มเพรดิเคตชนิดที่อนุมานได้ การรองรับการประกาศแบบแยกไฟล์ การตรวจสอบไวยากรณ์นิพจน์ทั่วไป และการปรับปรุงประสิทธิภาพของเครื่องมือแก้ไขอย่างมาก

// npm install typescript@5.5

เพรดิเคตชนิดที่อนุมานได้

TS 5.5 สามารถอนุมานเพรดิเคตชนิด is จากเนื้อความของฟังก์ชันที่ทำให้ชนิดของพารามิเตอร์แคบลงได้โดยอัตโนมัติ โดยไม่ต้องใช้คำอธิบายชนิดอย่างชัดเจน

// Before 5.5: had to annotate manually
function isString(val: unknown): val is string {
  return typeof val === "string";
}

// After 5.5: TypeScript infers the predicate automatically
function isString(val: unknown) {
  return typeof val === "string";
}
// Inferred: (val: unknown) => val is string

isolatedDeclarations: จริง

TS 5.5 เพิ่มการรองรับอย่างเป็นทางการสำหรับ isolatedDeclarations ซึ่งกำหนดให้การส่งออกต้องมีชนิดส่งคืนอย่างชัดเจน เพื่อเปิดใช้งานการสร้างไฟล์ประกาศแบบขนานแยกตามไฟล์

{
  "compilerOptions": {
    "isolatedDeclarations": true
  }
}
// Exported functions without return types now cause an error

การตรวจสอบไวยากรณ์นิพจน์ทั่วไป

TS 5.5 รายงานข้อผิดพลาดทางไวยากรณ์ในลิเทอรัลนิพจน์ทั่วไป ช่วยตรวจจับข้อผิดพลาดทั่วไปของนิพจน์ทั่วไปได้ขณะคอมไพล์

const re = /(?<name>\w+)/; // OK — named capture group
const bad = /[z-a]/;        // Error: invalid character class range

การทำให้ชนิดแคบลงตามโฟลว์ควบคุมสำหรับดัชนีคงที่

TS 5.5 ปรับปรุงการทำให้ชนิดแคบลงสำหรับการเข้าถึงคุณสมบัติของอ็อบเจ็กต์และดัชนีอาร์เรย์แบบค่าคงที่

const obj = { x: Math.random() > 0.5 ? "a" : "b" };
if (obj.x === "a") {
  // TS 5.5: obj.x is narrowed to "a" here
  console.log(obj.x.toUpperCase());
}

TypeScript 5.6 และรุ่นถัดไป

TypeScript ยังคงออกรุ่นใหม่ทุกไตรมาส โดยมีการปรับปรุงแบบต่อเนื่องด้านการอนุมาน ประสิทธิภาพ และความสามารถของภาษาให้สอดคล้องกับข้อเสนอของ ECMAScript

# Quarterly release cadence:
# 5.5: June 2024
# 5.6: September 2024
# 5.7: December 2024
# 5.8: March 2025

ติดตามแผนงาน TypeScript

ทีม TypeScript เผยแพร่แผนการพัฒนาในแต่ละรอบสำหรับแต่ละรุ่นบน GitHub การติดตามแผนนี้ช่วยให้คุณคาดการณ์ความสามารถที่จะเพิ่มเข้ามาได้

# TypeScript iteration plans:
# github.com/microsoft/TypeScript/issues?q=Iteration+Plan

ความสอดคล้องกับ ECMAScript

TypeScript ติดตามข้อเสนอของ ECMAScript โดยทั่วไปข้อเสนอระยะที่ 3 เช่น ดีคอเรเตอร์ using และ Object.groupBy จะเข้าสู่ TypeScript ในเวลาไม่นานหลังจากถึงระยะที่ 3

# TC39 proposals: https://tc39.es/proposals/
# Stage 3 = TypeScript eligible for inclusion

การอัปเกรด TypeScript อย่างปลอดภัย

เมื่ออัปเกรดรุ่นของ TypeScript ให้เรียกใช้ tsc --noEmit และตรวจสอบบันทึกการเปลี่ยนแปลงของ TypeScript เพื่อดูการเปลี่ยนแปลงที่อาจทำให้โค้ดเดิมใช้งานไม่ได้ ก่อนยืนยันการเพิ่มรุ่น

npm install typescript@latest
npx tsc --noEmit
# Review: https://www.typescriptlang.org/docs/handbook/release-notes/overview.html

ติดตามความเคลื่อนไหวด้วย @typescript/nightly

ใช้บิลด์ทดสอบล่าสุดของ TypeScript เพื่อทดลองความสามารถที่กำลังจะเปิดตัวหรือรายงานข้อผิดพลาดก่อนการเปิดตัวอย่างเป็นทางการ

npm install typescript@next
# Use nightly in a separate branch or experimental project

แหล่งข้อมูลจากชุมชน

ติดตามข่าวสารล่าสุดของ TypeScript ผ่านรุ่นอย่างเป็นทางการ บล็อก TypeScript เนื้อหาของ Matt Pocock จาก Total TypeScript และชุมชน TypeScript บน Discord

# Resources:
# typescriptlang.org/docs
# devblogs.microsoft.com/typescript
# totaltypescript.com
# discord.gg/typescript

ทบทวน: TypeScript 5.5 ขึ้นไป

TS 5.5 เพิ่มเพรดิเคตชนิดที่อนุมานได้ การรองรับ isolatedDeclarations อย่างเป็นทางการ การตรวจสอบไวยากรณ์นิพจน์ทั่วไป และการทำให้ชนิดแคบลงที่ปรับปรุงแล้ว TypeScript ออกรุ่นใหม่ทุกไตรมาส จึงควรติดตามแผนงานและอัปเกรดอย่างปลอดภัยด้วยการตรวจสอบ --noEmit

ตรวจสอบความเข้าใจ

TypeScript 5.5 ทำอะไรกับฟังก์ชันเพรดิเคตชนิด

สิ่งที่ได้เรียนรู้

TypeScript 5.5 ขึ้นไปเพิ่มเพรดิเคตชนิดที่อนุมานได้ isolatedDeclarations สำหรับเครื่องมือแบบขนาน การตรวจสอบไวยากรณ์นิพจน์ทั่วไป และการทำให้ชนิดแคบลงตามโฟลว์ควบคุมที่ปรับปรุงแล้ว ติดตามแผนงานรายไตรมาส อัปเกรดโดยตรวจสอบด้วย --noEmit และมีส่วนร่วมกับชุมชน TypeScript เพื่อให้ทันสมัยอยู่เสมอ

เริ่มต้นได้ฟรี

เรียนรู้ TypeScript ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
101
บทเรียน
352

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

บทเรียน “TypeScript 5.5+: คำประกาศแบบแยกส่วนและสิ่งที่เพิ่มขึ้น” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “TypeScript 5.5+: คำประกาศแบบแยกส่วนและสิ่งที่เพิ่มขึ้น”

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

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

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

บทเรียน “TypeScript 5.5+: คำประกาศแบบแยกส่วนและสิ่งที่เพิ่มขึ้น” ใช้เวลานานแค่ไหน

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

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

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

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

  1. TypeScript 5.0: มาตรฐานเดคอเรเตอร์และพารามิเตอร์ชนิด const
  2. TypeScript 5.1-5.2: การอนุมานที่ปรับปรุงขึ้น
  3. TypeScript 5.3-5.4: การจำกัดชนิดแบบใหม่และ NoInfer
  4. TypeScript 5.5+: คำประกาศแบบแยกส่วนและสิ่งที่เพิ่มขึ้น
← กลับไปที่ TypeScript Academy