Biến trong JavaScript: var, let, const khác nhau thế nào? Đây là phần nền tảng cực kỳ quan trọng, vì mọi thứ trong lập trình đều bắt đầu từ biến.
1. Biến là gì?
- Biến là tên đại diện cho dữ liệu mà bạn muốn lưu trữ trong bộ nhớ để sử dụng sau này.
let age = 25
→ age là tên biến, chứa giá trị 25.
2. Các cách khai báo biến
| Từ khóa | Có thể gán lại? | Có thể khai báo lại? | Có block scope? | Ghi chú |
|---|---|---|---|---|
var | Có | Có | Không | Cũ, nên tránh |
let | Có | Không | Có | Nên dùng |
const | Không | Không | Có | Dùng cho hằng số |
3. Ví dụ với var, let, const
var name = "Nam"
let age = 20
const pi = 3.14
name = "Huy" // Được
age = 21 // Được
// pi = 3.1416 // Lỗi, không thể gán lại const
4. Scope – Phạm vi biến
if (true) {
var x = 1
let y = 2
const z = 3
}
console.log(x) // 1
// console.log(y) // lỗi, y chỉ tồn tại trong block
// console.log(z) // lỗi, z chỉ tồn tại trong block
→ var không có block scope → dễ gây lỗi → hạn chế dùng
5. Khai báo lại biến
var a = 5
var a = 10 // được
let b = 5
// let b = 10 // lỗi
const c = 5
// const c = 10 // lỗi
6. Quy tắc đặt tên biến
Hợp lệ:
- Bắt đầu bằng chữ cái,
_, hoặc$ - Không chứa khoảng trắng
- Phân biệt chữ hoa/thường
let name = "Tùng"
let Name = "Khác hoàn toàn"
let _private = true
let $price = 1000
Không hợp lệ:
// let 1name = "sai"
// let user name = "sai"
7. Một số kiểu dữ liệu phổ biến khi gán cho biến
let name = "An" // chuỗi
let age = 18 // số
let isStudent = true // boolean
let hobbies = ["code"] // mảng
let user = {name: "An"} // object
let nothing = null // null
let x // undefined
8. Giao diện học (code + output):
| Code (bên trái) | Kết quả (bên phải) |
|---|---|
console.log(age) | Hiển thị kết quả 20 |
alert(name) | Popup “Nam” |
document.write("Hello JS") | Viết ra trang |
Tổng kết bài 2
Bạn đã học được:
var,let,const– nên dùnglethoặcconstlet: biến có thể thay đổiconst: biến không đổivar: cũ, dễ lỗi vì không có block scope- Scope, đặt tên biến, và kiểu dữ liệu
Bài tập
- Khai báo biến tên bạn, tuổi, sở thích → log ra
- Thử đổi giá trị biến
let,const→ xem lỗi gì - Thử đặt tên biến sai quy tắc → trình duyệt báo gì?

Thảo luận