JavaScript: ใช้ Const Objects แทนคำสั่ง Switch

Apr 28 2023
ในฐานะผู้พัฒนา JavaScript เราทุกคนรู้ถึงพลังของคำสั่ง switch เป็นโครงสร้างการควบคุมแบบคลาสสิกที่มีมานานหลายทศวรรษและใช้ในการเขียนโปรแกรมหลายภาษา

ในฐานะผู้พัฒนา JavaScript เราทุกคนรู้ถึงพลังของคำสั่ง switch เป็นโครงสร้างการควบคุมแบบคลาสสิกที่มีมานานหลายทศวรรษและใช้ในการเขียนโปรแกรมหลายภาษา

แต่ในช่วงไม่กี่ปีที่ผ่านมา การเขียนโปรแกรมเชิงวัตถุได้รับความนิยมมากขึ้นใน JavaScript และตอนนี้นักพัฒนาจำนวนมากกำลังมองหาทางเลือกอื่นนอกเหนือจากคำสั่ง switch

ออบเจกต์เป็นตัวเลือกที่ดีเมื่อต้องแทนที่คำสั่ง switch พวกเขาให้วิธีแก้ปัญหาที่เรียบง่ายและสง่างามสำหรับปัญหาที่ซับซ้อน ออบเจกต์ช่วยให้คุณกำหนดเส้นทางต่างๆ ที่โปรแกรมควรใช้โดยขึ้นอยู่กับอินพุตได้อย่างง่ายดาย โดยไม่ต้องเขียนคำสั่ง if-else มากมาย

การเขียนคำสั่งเงื่อนไขโดยใช้ Switch

เคสสวิตช์อ่านยากเล็กน้อยและค่อนข้างโบราณ และมีแนวโน้มที่จะเกิดปัญหาในการแก้ไขข้อบกพร่อง


    const handleSuccess = () => { /* do stuff */ }

    const handleFailure = () => { /* do stuff */ }

    const handlePending = () => { /* do stuff */ }
    
    
    switch(status) {
      case 'success':
          return handleSuccess();
      case 'failed':
          return handleFailure();
      case 'pending':
          return handlePending();
      default:
          throw Error('status not recognized');
  }

สามารถใช้วัตถุแทนคำสั่งสวิตช์ใน JavaScript โดยใช้วัตถุตัวจัดการ

const handleSuccess = () => { /* do stuff */ 

const handleFailure = () => { /* do stuff */ }

const handlePending = () => { /* do stuff */ }


 const handler = handlers[status];
 if (!handler) throw Error('Status not recognized');
     return handler();

โดยรวมแล้ว ออบเจกต์มีวิธีจัดการลอจิกที่ซับซ้อนได้อย่างมีประสิทธิภาพมากกว่าคำสั่ง switch ง่ายต่อการบำรุงรักษาและแก้ไข เนื่องจากลอจิกทั้งหมดมีอยู่ในตัววัตถุเอง นอกจากนี้ยังสามารถอ่านและเข้าใจได้ง่ายกว่า ดังนั้น หากคุณกำลังมองหาทางเลือกอื่นในการเปลี่ยนคำสั่ง การใช้อ็อบเจกต์นั้นคุ้มค่าที่จะพิจารณา