TypeScript 5.5+: คำประกาศแบบแยกส่วนและสิ่งที่เพิ่มขึ้น
ทำความเข้าใจ isolatedDeclarations และการปรับปรุงประสิทธิภาพล่าสุด
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 stringisolatedDeclarations: จริง
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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- TypeScript 5.0: มาตรฐานเดคอเรเตอร์และพารามิเตอร์ชนิด const
- TypeScript 5.1-5.2: การอนุมานที่ปรับปรุงขึ้น
- TypeScript 5.3-5.4: การจำกัดชนิดแบบใหม่และ NoInfer
- TypeScript 5.5+: คำประกาศแบบแยกส่วนและสิ่งที่เพิ่มขึ้น