Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách tốt nhất để khai báo nhiều biến trong JavaScript

Có 2 phong cách khai báo nhiều biến. Phong cách mỗi biến một dòng (one per line) được khuyến nghị cho code hiện đại vì dễ bảo trì, dễ review, ít conflict khi merge git.

Phong cách 1: Mỗi biến một dòng (Khuyến nghị ✅)


let variable1 = 5;
let variable2 = 3.6;
let variable3 = "Amit";

Ưu điểm:

  • Dễ thêm/xóa/sửa biến riêng lẻ.
  • Git diff rõ ràng: thay đổi 1 dòng = thay đổi 1 biến.
  • Dễ comment cho từng biến.
  • Dễ debug (breakpoint trên từng dòng).
  • Tránh lỗi thiếu dấu phẩy/comma.
  • Hỗ trợ const cho từng biến riêng biệt.

Phong cách 2: Nhiều biến một dòng (Chained declaration)


let variable1 = 5, variable2 = 3.6, variable3 = "Amit";

Nhược điểm:

  • Xóa biến giữa → phải sửa dấu phẩy, dễ quên let/const cho biến tiếp theo.
  • Git diff nhiễu: 1 dòng thay đổi = nhiều biến.
  • Khó comment cho từng biến.
  • Dễ mắc lỗi: let a = 1, b = 2; c = 3 (thiếu let cho c → global leak).
  • Không thể mix const và let.

So sánh chi tiết

Tiêu chíOne per lineChained
Đọc/hiểuDễKhó (dòng dài)
Git diff/mergeSạchNhiễu, conflict dễ
Refactor (thêm/xóa/sửa)DễRủi ro
Debug breakpointTừng biếnCả nhóm
Mix const/letĐượcKhông được
Comment per variableĐượcKhó

Ví dụ thực tế: Config object (Thay vì nhiều biến)


// Thay vì:
const apiUrl = "/api";
const timeout = 5000;
const retries = 3;
const cacheEnabled = true;

// Nên gom thành object config
const config = {
  apiUrl: "/api",
  timeout: 5000,
  retries: 3,
  cacheEnabled: true
};

// Hoặc dùng destructuring khi cần
const { apiUrl, timeout } = config;

Destructuring Declaration (ES6) – Khai báo nhiều từ object/array


// Từ object
const { name, age, email } = user;

// Từ array
const [first, second, ...rest] = items;

// Đổi tên khi destructuring
const { name: userName, age: userAge } = user;

Linting Rules (ESLint)

  • one-var: ["error", "never"] – Cấm chained declaration.
  • prefer-const – Yêu cầu const khi không gán lại.
  • no-unused-vars – Báo biến khai báo không dùng.

Tóm tắt

  • Best Practice: Mỗi biến một dòng, dùng const mặc định, let khi cần gán lại.
  • Tránh chained declaration (let a=1, b=2).
  • Gom biến liên quan thành object/config.
  • Dùng destructuring để khai báo nhiều từ object/array.
  • Bật ESLint one-var: never để enforce.