JuniorJavaScript

Khác nhau giữa var, let và const trong JavaScript?

  • var có phạm vi hàm, bị hoisting (khai báo được đưa lên đầu hàm với giá trị undefined) và cho khai báo lại.
  • let có phạm vi khối { }, không cho khai báo lại trong cùng khối, và không dùng được trước dòng khai báo.
  • const giống let nhưng không gán lại được. Lưu ý: object hay mảng khai báo bằng const vẫn sửa được bên trong.
const không có nghĩa là bất biến
const user = { name: "An" };
user.name = "Bình"; // được
user = {};          // TypeError

Thói quen tốt: mặc định dùng const, chỉ dùng let khi thật sự cần gán lại, và tránh var trong code mới.