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

Default Parameters (พารามิเตอร์เริ่มต้น) ใน JavaScript คืออะไร

Default Parameters (ES2015/ES6) ช่วยให้สามารถ กำหนดค่าเริ่มต้นให้พารามิเตอร์ของฟังก์ชัน ได้ โดยตรงในหัวฟังก์ชัน ค่าเริ่มต้นจะถูกใช้เมื่อ ไม่ได้ส่งอาร์กิวเมนต์ หรือส่งเป็น undefined เท่านั้น

ตัวอย่าง

<html>
  <body>
    <script>
      // default ค่า inc = 1
      function inc(val1, inc = 1) {
        return val1 + inc;
      }

      document.write(inc(10, 10)); // 20
      document.write("<br>");
      document.write(inc(10));     // 11 (ใช้ค่าเริ่มต้น inc = 1)
    </script>
  </body>
</html>

รายละเอียดเพิ่มเติม

  • ค่าเริ่มต้นสามารถเป็นนิพจน์ (expression) ได้ เช่น function foo(x = Date.now())
  • พารามิเตอร์ก่อนหน้าสามารถถูกอ้างอิงในค่าเริ่มต้นของพารามิเตอร์หลังได้: function foo(a = 1, b = a * 2)
  • ทำงานร่วมกับ Destructuring ได้: function foo({x = 1, y = 2} = {})
  • arguments object จะไม่รวมค่าเริ่มต้น (ใน strict mode)

เปรียบเทียบกับวิธีเก่า (Pre-ES6)

// วิธีเก่า
function inc(val1, inc) {
  inc = inc !== undefined ? inc : 1;
  return val1 + inc;
}

Default Parameters ทำให้โค้ดสะอาด อ่านง่าย และลดบั๊กจากการตรวจสอบ undefined เอง