JavaScript cung cấp ba cách để khai báo biến: var
, let
và const
. Mỗi cách khai báo có những đặc điểm riêng biệt và được sử dụng trong những hoàn cảnh khác nhau. Trong bài viết này, chúng ta sẽ cùng tìm hiểu chi tiết về sự khác biệt giữa ba loại khai báo biến này.
function exampleVar() { if (true) { var x = 10; } console.log(x); // 10 } exampleVar();
Biến khai báo bằng var
bị hoisted lên đầu phạm vi.
console.log(y); // undefined var y = 5;
function exampleLet() { if (true) { let x = 10; console.log(x); // 10 } console.log(x); // ReferenceError: x is not defined } exampleLet();
Biến khai báo bằng let
bị hoisted nhưng không khởi tạo.
console.log(y); // ReferenceError: Cannot access 'y' before initialization let y = 5;
function exampleConst() { const x = 10; x = 20; // TypeError: Assignment to constant variable. } exampleConst();
Biến khai báo bằng const
bị hoisted nhưng không khởi tạo.
console.log(z); // ReferenceError: Cannot access 'z' before initialization const z = 5;
Trong JavaScript, var
, let
và const
có những cách hoạt động khác nhau về phạm vi, khả năng hoisted và tính tái định nghĩa. Hiểu rõ sự khác biệt này giúp chúng ta viết mã code hiệu quả hơn và tránh những lỗi không mong muốn trong quá trình lập trình.