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

การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง

ใช้การคืนค่าก่อนเวลาและประโยคเฝ้าระวังเพื่อทำให้เงื่อนไขง่ายขึ้น ลดการซ้อนกัน และทำให้เส้นทางกรณีปกติชัดเจน

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

บทนำ

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

  • การส่งคืนค่าก่อนเวลา
  • เงื่อนไขป้องกัน
  • การซ้อนที่น้อยลง
การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง — ภาพประกอบ 1

ไม่มีเงื่อนไขป้องกัน

การซ้อนทำให้งานหลักเข้าไปอยู่ภายในเงื่อนไข ซึ่งอาจขยายจนอ่านได้ยาก

// Nested style without guard
function welcome(name) {
  if (name) {
    const message = "Hello, " + name + "!";
    console.log(message);
  } else {
    console.log("Name required");
  }
}

welcome("Ayla");
welcome("");
การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง — ภาพประกอบ 2

ปรับโครงสร้างด้วยเงื่อนไขป้องกัน

จัดการอินพุตที่ไม่ถูกต้องก่อน แล้วเขียนเส้นทางการทำงานปกติโดยใช้การย่อหน้าให้น้อยลง

// Guard clause: return early for bad input
function welcomeSafe(name) {
  if (!name) {
    console.log("Name required");
    return;
  }
  const message = "Hello, " + name + "!";
  console.log(message);
}

welcomeSafe("Ayla");
welcomeSafe("");
การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง — ภาพประกอบ 3

เงื่อนไขป้องกันหลายรายการ

ใช้เงื่อนไขป้องกันขนาดเล็กหนึ่งรายการต่อกฎหนึ่งข้อ การส่งคืนค่าแต่ละครั้งก่อนเวลาจะลดความจำเป็นในการซ้อนหลายระดับ

// Multiple guard clauses keep each rule small
function divide(a, b) {
  if (typeof a !== "number" || typeof b !== "number") {
    console.log("Numbers only");
    return;
  }
  if (b === 0) {
    console.log("Cannot divide by zero");
    return;
  }
  const result = a / b;
  console.log("Result:", result);
}

divide(6, 3);
divide(6, 0);
divide("6", 3);
การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง — ภาพประกอบ 4

ลดการซ้อนด้วยการส่งคืนค่า

ส่งคืนค่าก่อนเวลาสำหรับกรณีล้มเหลว ส่วนบรรทัดสุดท้ายจะส่งคืนความสำเร็จอย่างชัดเจน

// Early returns reduce else blocks
function canVote(age) {
  if (typeof age !== "number") {
    return false;
  }
  if (age < 18) {
    return false;
  }
  return true;
}

console.log(canVote(20));
console.log(canVote(15));
console.log(canVote("20"));
การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง — ภาพประกอบ 5

คำแนะนำเกี่ยวกับเงื่อนไขป้องกัน

รายการตรวจสอบ:

  • ตรวจสอบอินพุตก่อน
  • ส่งคืนค่าก่อนเวลาเมื่อเกิดข้อผิดพลาดหรือกรณีขอบ
  • ทำให้เงื่อนไขป้องกันแต่ละรายการสั้นและเฉพาะเจาะจง
  • เขียนเส้นทางการทำงานปกติไว้ท้ายสุดโดยไม่ซ้อนหลายระดับ
การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง — ภาพประกอบ 6

แบบทดสอบเงื่อนไขป้องกัน

ตรวจสอบอย่างรวดเร็ว: เงื่อนไขป้องกันคืออะไร

การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง — ภาพประกอบ 7

สรุปทบทวน

สรุปทบทวน: ใช้เงื่อนไขป้องกันเพื่อจัดการอินพุตที่ bad ก่อน ส่งคืนค่าก่อนเวลา และทำให้ตรรกะหลักแบนราบและอ่านง่าย

การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง — ภาพประกอบ 8

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

บทเรียน “การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง”

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

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

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

บทเรียน “การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง” ใช้เวลานานแค่ไหน

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

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

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

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

  1. if/else และ switch — รูปแบบหลัก
  2. ลูป: for, while, do…while, for…of กับ for…in
  3. การคืนค่าก่อนเวลาและประโยคเฝ้าระวัง
← กลับไปที่ JavaScript Academy