TypeScript Academy · บทเรียน

แฟล็ก strict และสิ่งที่เปิดใช้งาน

ทำความเข้าใจ strictNullChecks, noImplicitAny และอื่น ๆ

บทเรียน 1 จาก 413 ขั้นตอน

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

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

แฟล็ก strict ใน tsconfig เปิดใช้ตัวเลือกตรวจสอบชนิดที่เข้มงวดขึ้นหลายรายการ การเข้าใจหน้าที่ของแต่ละรายการช่วยให้คุณกำหนดค่า TypeScript ได้อย่างปลอดภัยสูงสุด

สิ่งที่ strict เปิดใช้

strict: true จะเปิดใช้แฟล็กย่อยหลายรายการพร้อมกัน
// strict enables:
// strictNullChecks, noImplicitAny, strictFunctionTypes,
// strictBindCallApply, strictPropertyInitialization,
// noImplicitThis, useUnknownInCatchVariables, alwaysStrict

strictNullChecks

ป้องกันการกำหนดค่า null/undefined ให้กับชนิดที่ไม่ยอมรับค่า null
// Without: let s: string = null; // OK
// With: let s: string = null; // Error

noImplicitAny

กำหนดให้ใส่คำอธิบายชนิดอย่างชัดเจนในจุดที่ TypeScript จะอนุมานเป็น any
// Without: function fn(x) {} // x: any
// With: // Error: Parameter has implicit any type

strictFunctionTypes

บังคับใช้ความแปรผกผันสำหรับชนิดพารามิเตอร์ของฟังก์ชัน
type Fn = (x: string | number) => void;
const fn: Fn = (x: string) => {}; // Error with strict

strictPropertyInitialization

ต้องกำหนดค่าเริ่มต้นให้คุณสมบัติในตัวสร้าง หรือทำเครื่องหมายด้วย !
class C {
  name: string; // Error — not initialized
  // name!: string; // OK — known to be set later
  constructor() { this.name = 'Alice'; } // OK
}

noImplicitThis

ไม่อนุญาตให้ใช้ this ที่มีชนิดเป็น any เช่น ในฟังก์ชันที่ไม่ใช่เมธอดของคลาส

alwaysStrict

สร้าง use strict ในไฟล์ผลลัพธ์ทุกไฟล์

strictBindCallApply

บังคับให้ bind, call และ apply ที่ใช้กับฟังก์ชันมีชนิดถูกต้อง
function add(a: number, b: number): number { return a + b; }
add.call(null, 1, '2'); // Error with strict

การเปิดใช้ strict ทีละส่วน

เพิ่มแฟล็กย่อยของ strict ทีละรายการเมื่อต้องย้ายโค้ดเบสขนาดใหญ่
{ "compilerOptions": { "strictNullChecks": true, "noImplicitAny": true } }

strict ในโปรเจกต์ใหม่

เริ่มต้นโปรเจกต์ใหม่ด้วย strict: true เสมอ การเพิ่ม strict ให้โค้ดเดิมภายหลังทำได้ยากกว่ามาก

ตรวจสอบสั้น ๆ

แฟล็กย่อยของ strict รายการใดป้องกันการกำหนดค่า null ให้กับตัวแปรชนิดสตริง

สรุปทบทวน

แฟล็ก strict และสิ่งที่เปิดใช้: คุณเชี่ยวชาญแนวคิดสำคัญและรูปแบบการใช้งานแล้ว
เริ่มต้นได้ฟรี

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

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

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

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

บทเรียน “แฟล็ก strict และสิ่งที่เปิดใช้งาน” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “แฟล็ก strict และสิ่งที่เปิดใช้งาน”

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

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

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

บทเรียน “แฟล็ก strict และสิ่งที่เปิดใช้งาน” ใช้เวลานานแค่ไหน

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

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

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

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

  1. แฟล็ก strict และสิ่งที่เปิดใช้งาน
  2. การกำหนดค่าโมดูลและเป้าหมาย
  3. นามแฝงเส้นทางและ baseUrl
  4. การบิลด์แบบเพิ่มทีละส่วนและไฟล์คำประกาศ
← กลับไปที่ TypeScript Academy