ไม่แนะนำ ให้ประกาศตัวแปรหลายตัวใน Statement เดียว ควรประกาศ ตัวแปรละบรรทัด (One per line) เพื่อความอ่านง่าย สะดวกในการเพิ่ม/ลบ/แก้ไข และลดโอกาสผิดพลาด
เปรียบเทียบ
❌ ไม่แนะนำ: หลายตัวแปรในบรรทัดเดียว
var one = "Demo One!", two = "Demo Two", three = 5, four = 30;
// หรือขึ้นบรรทัดใหม่แต่ยังคงคั่นด้วย comma
var one = "Demo One!",
two = "Demo Two",
three = 5,
four = 30;
✅ แนะนำ: ตัวแปรละบรรทัด (One per line)
var one = "Demo One!"; var two = "Demo Two"; var three = 5; var four = 30;
เหตุผล
- อ่านง่าย: มองเห็นตัวแปรทุกตัวทันที ไม่ต้องเลื่อนดู
- แก้ไขง่าย: เพิ่ม/ลบ/แก้บรรทัดไหน ก็แค่บรรทัดนั้น
- Diff สวย: Git diff แสดงการเปลี่ยนแปลงชัดเจน (บรรทัดเดียวเปลี่ยน = บรรทัดเดียวใน diff)
- Debugง่าย: ตั้ง Breakpoint/Watch ตัวแปรเฉพาะตัวได้
- Comment ได้: คอมเมนต์แต่ละตัวแปรแยกกัน
Best Practice สมัยใหม่ (ES6+)
// ใช้ const เป็นค่าเริ่มต้น const apiUrl = "https://api.example.com"; const timeout = 5000; const maxRetries = 3; // ใช้ let เมื่อต้อง Reassign let currentUser = null; let isLoading = false; // หลีกเลี่ยง var (Function-scoped, Hoisting ปัญหา)
ข้อยกเว้น (อาจรวมได้)
- ตัวแปรที่เกี่ยวข้องกันมาก และไม่ค่อยเปลี่ยน:
const [width, height] = [800, 600];(Destructuring) - Loop Counter แบบเก่า:
for (var i = 0, len = arr.length; i < len; i++)(แต่ควรใช้for...ofหรือforEach)
Style Guides: Airbnb, Google, StandardJS ทั้งหมดแนะนำ One Variable Per Declaration