[JavaScript Cơ Bản] – Biến (Variables): Khái niệm gốc rễ lập trình

1. Biến (variables) là gì?

Trong  JavaScript, biến giống như hộp đựng trong tiệm tạp hoá. Mỗi biến có:

  • Một tên (name) để phân biệt
  • Một giá trị (value) bên trong

–> Giúp chúng ta lưu trữ dữ liệu để sử dụng lại sau này.

Ví dụ: 

let userAge = 21; // Tên biến: userAge, Giá trị: 21
Biến trong JavaScript
Đặt nhãn cho các hộp đựng, khi cần gì chỉ cần đến tìm hộp có nhãn đó để lấy chúng.

2. Khai báo biến: var, let, const

  • var:
    • Cách khai báo cũ (từ ES5 trở về trước).
    • Phạm vi hoạt động không rõ ràng (function scope), dễ gây lỗi
    • Không nên dùng cho dự án mới nữa
  • let:
    • Dùng để khai báo biến có thể thay đổi
    • Có phạm vi block (block scope)  –> an toàn hơn var.
let name = "Thiên";
name = "Thành Thiên"; // OK
  • const:
    • Dùng để khai báo hằng số – giá trị không thay đổi sau khi gán.
    • Bắt buộc phải gán giá trị ngay khi khai báo.
const PI = 3.14;
PI = 3.1415; // ❌ Lỗi, không thể thay đổi giá trị const

3. Gán và cập nhật giá trị

Loại Có thể cập nhật? Bắt buộc gán giá trị khi khai báo?
var ✅ Có ❌ Không cần ngay
let ✅ Có ❌ Không cần ngay
const ❌ Không ✅ Bắt buộc

4. Quy tắc đặt tên biến

Nên:

  • Dùng tiếng Anh đơn giản
  • Dùng kiểu camelCase: ví dụ userName, totalPrice
  • Tên rõ ràng, gợi nghĩa: userAge, isLogin, productList

Tránh:

  • Dùng số ở đầu: 1stUser ❌
  • Trùng từ khoá JavaScript: let, class, function
  • Tên vô nghĩa: x, y, abc ❌ (trừ khi làm toán)
  • Trùng tên biến đã có trước đó

⚠️ JavaScript phân biệt chữ hoa – chữ thường:

let a = 1;
let A = 2;

console.log(a); // 1
console.log(A); // 2

🧨 5. Lỗi thường gặp khi dùng biến

Lỗi Giải thích
❌ Quên khai báo biến Sẽ báo lỗi khi dùng biến chưa tồn tại
❌ Đặt tên sai quy tắc Không thể dùng tên có ký tự đặc biệt, bắt đầu bằng số
❌ Khai báo biến trùng tên Có thể ghi đè hoặc báo lỗi tuỳ biến
❌ Dùng const nhưng lại muốn gán lại Sẽ báo lỗi vì const không cho thay đổi giá trị
age = 25; // ❌ Chưa khai báo bằng let/const → lỗi trong chế độ strict

const x = 10;
x = 20; // ❌ Lỗi: không thể gán lại cho const

Kết luận: 

Biến là nề tảng cực kỳ quan trọng trong mọi ngôn ngữ lập trình.

Hãy hiểu thật chắc: Khai báo –> Gán –> Đặt tên –> Tránh lỗi