Mẹo lập trình Javascript: So sánh câu lệnh const, let và var
By JoeVu, at: 18:33 Ngày 25 tháng 11 năm 2023
Thời gian đọc ước tính: __READING_TIME__ phút
Trong JavaScript, let, const, và var được sử dụng để khai báo biến, nhưng chúng có một số khác biệt về phạm vi, hoisting và khả năng thay đổi.
-
var(Khai báo biến):
- Các biến được khai báo bằng
varcó phạm vi hàm, nghĩa là phạm vi của chúng bị giới hạn trong hàm mà chúng được định nghĩa.
- Các biến
varđược hoisting lên đầu phạm vi của chúng trong giai đoạn thực thi, điều này có nghĩa là bạn có thể sử dụng biến trước khi nó được khai báo trong mã.
- Các biến
varcó thể được khai báo lại và gán lại.
function variable_declaration() {
var x = 10;
if (true) {
var x = 20; // Cùng một biến như trên, không phải là một biến mới
console.log(x); // Xuất ra 20
}
console.log(x); // Xuất ra 20, không phải 10
} - Các biến được khai báo bằng
-
let(Khai báo phạm vi khối):
- Các biến được khai báo bằng
letcó phạm vi khối, nghĩa là phạm vi của chúng bị giới hạn trong khối (một cặp dấu ngoặc nhọn) mà chúng được định nghĩa.
- Các biến
letcũng được hoisting, nhưng chúng không được khởi tạo cho đến khi trình thông dịch đến khai báo của chúng trong mã.
- Các biến
letcó thể được gán lại, nhưng không thể khai báo lại trong cùng một phạm vi.
function variable_declaration() {
let x = 10;
if (true) {
let x = 20; // Biến khác với biến bên ngoài khối
console.log(x); // Xuất ra 20
}
console.log(x); // Xuất ra 10, không bị ảnh hưởng bởi khối bên trong
} - Các biến được khai báo bằng
-
const(Khai báo hằng số):
- Các biến được khai báo bằng
constcó phạm vi khối giống nhưlet.
- Các biến
constphải được gán một giá trị khi được khai báo, và giá trị đó không thể được thay đổi hoặc gán lại.
- Giống như
let, các biếnconstkhông được hoisting cho đến khi khai báo của chúng.
function variable_declaration() {
const x = 10;
// x = 20; // Điều này sẽ dẫn đến lỗi, vì các biến const không thể được gán lại
console.log(x); // Xuất ra 10
} - Các biến được khai báo bằng
Nhìn chung, tốt nhất nên sử dụng const theo mặc định và chỉ sử dụng let khi bạn biết giá trị của biến sẽ thay đổi. var được sử dụng ít thường xuyên hơn trong JavaScript hiện đại do hành vi phạm vi hàm và những điểm kỳ lạ của hoisting. Sử dụng const và let có thể giúp ngăn ngừa việc gán lại không mong muốn và cải thiện tính rõ ràng của mã.