- Function scope: biến
varsống trong toàn bộ hàm chứa nó. - Block scope: biến
let/constchỉ sống trong cặp{}gần nhất.
Ví dụ:for (var i = 0; i < 3; i++) {}
ra ngoài vẫn dùng được i (giá trị 3).
for (let j = 0; j < 3; j++) {}
ra ngoài thì j không tồn tại.
Vì vậy code hiện đại ưu tiên let/const.