Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีตั้งค่า Default Parameter สำหรับฟังก์ชัน JavaScript

Default parameters มาจัดการ function parameters ให้สะดวก ตั้งค่า default ให้ formal parameters ได้ก็ต่อเมื่อไม่มีค่าหรือ undefined ถูกส่งมา

ตัวอย่าง

<html> 
  <body> 
    <script> 
      // default is set to 1
      function inc(val1, inc = 1) { 
        return val1 + inc; 
      } 
      document.write(inc(10, 10)); 
      document.write("<br>"); 
      document.write(inc(10)); 
    </script> 
  </body> 
</html>

รายละเอียด Default Parameters (ES6+)

// Basic syntax
function greet(name = "Guest", greeting = "Hello") {
  return `${greeting}, ${name}!`;
}

greet();              // "Hello, Guest!"
greet("John");        // "Hello, John!"
greet("John", "Hi");  // "Hi, John!"

// Default expression (evaluated at call time)
function createUser(name, timestamp = Date.now()) {
  return { name, createdAt: timestamp };
}

// Destructuring with defaults
function connect({ host = "localhost", port = 3000, secure = false } = {}) {
  // ...
}
connect();  // ใช้ defaults ทั้งหมด

// Rest parameter กับ default
function sum(...numbers = [0]) {
  return numbers.reduce((a, b) => a + b, 0);
}

ข้อควรระวัง

  • Default expression evaluate ทุกครั้งที่เรียกฟังก์ชัน (ไม่ใช่ตอน define)
  • Parameters หลัง default parameter สามารถไม่มี default ได้ (แต่จะได้ undefined ถ้าไม่ส่งมา)
  • undefined trigger default, null ไม่ trigger