Ngôn ngữ ECMA- / Javascript lưu trữ bất kỳ biến nào được khai báo vớivar ở bất kỳ đâu ở đầu một hàm. Đó là bởi vì ngôn ngữ này không có phạm vi chức năng và không có phạm vi khối như nhiều ngôn ngữ C-likelanguages khác.
function() { for(var a = 0; a < 7; a ++) { var b = 100; } }
giống như
function() { var b; for(var a = 0; a < 7; a ++) { b = 100; } }
Nhưng với let, đây không phải là trường hợp. hãy để có phạm vi từ vựng. Vì vậy, trừ khi bạn sẽ cần cùng một biến bên ngoài vòng lặp (hoặc nếu mỗi lần lặp phụ thuộc vào một hoạt động được thực hiện với biến đó trong lần lặp trước), tốt hơn hết bạn nên khai báo phạm vi mà nó được sử dụng.