Tiếp theo là Bài 18 – Phạm vi biến (Scope) trong JavaScript. Đây là phần rất quan trọng để bạn hiểu biến hoạt động ở đâu, tránh lỗi trùng tên và điều khiển dữ liệu tốt hơn.
1. Scope là gì?
Scope là phạm vi mà biến tồn tại và có thể được truy cập.
Có 3 loại:
- Global Scope (toàn cục)
- Function Scope (trong hàm)
- Block Scope (trong
{}– vớilet,const)
2. Global scope – biến toàn cục
Khai báo ngoài mọi hàm → dùng được ở bất kỳ đâu trong file.
let username = "An"
function sayHi() {
console.log("Xin chào " + username)
}
sayHi() // Xin chào An
3. Function scope – biến trong hàm
Khai báo bên trong hàm → chỉ dùng được trong hàm đó.
function greet() {
let name = "Bình"
console.log(name)
}
greet()
// console.log(name) → lỗi: name không tồn tại ngoài hàm
4. Block scope – với let, const
Biến let, const trong cặp {} sẽ chỉ sống trong đó.
if (true) {
let a = 5
const b = 10
console.log(a + b) // 15
}
// console.log(a) → lỗi: a không tồn tại ngoài khối
Nếu dùng
var, biến không tuân theo block scope, dễ gây lỗi.
5. Tại sao cần hiểu scope?
- Tránh xung đột biến khi dùng lại tên
- Quản lý bộ nhớ tốt hơn (biến cục bộ sẽ bị xoá sau khi dùng)
- Viết code rõ ràng, dễ bảo trì
6. Giao diện học (code + output)
| Mã lệnh | Kết quả / lỗi |
|---|---|
let x = 10; function(){...} | x dùng được trong hàm |
let x = 1; { let x = 2 } | x bên ngoài vẫn là 1 |
console.log(a) ngoài hàm | lỗi: a không xác định |
Tóm tắt bài 18
Bạn đã học:
- Global scope: biến dùng được mọi nơi
- Function scope: biến chỉ dùng trong hàm
- Block scope: với
let,constchỉ tồn tại trong{} - Tránh dùng
varnếu không cần thiết
Bài tập
- Tạo biến toàn cục
site = "faddat.com"→ in trong 2 hàm khác nhau - Viết hàm có biến
localName, in ra bên trong và thử in ngoài → giải thích - So sánh
var,let,consttrongifđể xem phạm vi

Thảo luận