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

การประกาศตัวแปร JavaScript ทั้งหมดไว้ที่ด้านบน: แนวทางปฏิบัติที่ดีหรือไม่?

ใช่ การวางการประกาศตัวแปร JavaScript ทั้งหมดไว้ที่ด้านบนของสคอป (Scope) ถือเป็นแนวทางปฏิบัติที่ดี (Best Practice) ซึ่งช่วยให้โค้ดอ่านง่ายขึ้น ลดข้อผิดพลาด และป้องกันปัญหา Hoisting ที่อาจสร้างบั๊กได้ ให้ดูตัวอย่างด้านล่างนี้ครับ

ตัวอย่างโค้ด

<html>
  <head>
    <title>JavaScript String match() Method</title>
  </head>
  <body>
    <script>
      // ประกาศตัวแปรกลุ่มเดียวกันไว้ด้านบน
      var str, re, found;
      
      str = "For more information, see Chapter 3.4.5.1";
      re = /(chapter \d+(\.\d)*)/i;
      found = str.match(re);
      document.write(found);
    </script>
  </body>
</html>

เหตุผลที่ควรประกาศตัวแปรไว้ด้านบน

  • จุดตรวจสอบเดียว: มองเห็นตัวแปรทั้งหมดในสคอปได้ทันที ไม่ต้องเลื่อนหาขึ้น-ลง
  • ป้องกันตัวแปร Global: ลดโอกาสสร้างตัวแปร Global โดยไม่ได้ตั้งใจ (Implied Globals)
  • ป้องกันการประกาศซ้ำ: เห็นตัวแปรที่ประกาศไปแล้วชัดเจน ลดการ declare ซ้ำ (Re-declaration)
  • โค้ดอ่านง่าย: ทีมงานหรือคนอื่นอ่านโค้ดเข้าใจโครงสร้างข้อมูลได้เร็วขึ้น

หมายเหตุ: ใน ES6+ ควรใช้ const และ let แทน var ซึ่งมี Block Scope ทำให้การจัดการตัวแปรปลอดภัยและทันสมัยกว่าเดิม