Như chúng ta đã biết để khai báo một biến trong javascript, chúng ta có hai tùy chọn hoặc khai báo bằng var hoặc khai báo bằng let. Bây giờ câu hỏi đặt ra là khi nào sử dụng var và khi nào sử dụng, hãy để chúng tôi xem sự khác biệt chính giữa cả hai là gì.
Trong văn bản sau, chúng ta sẽ biết sự khác biệt chính giữa var và let trong javascript.
Sự khác biệt chính giữa let và var là phạm vi của một biến được xác định bằng let được giới hạn trong khối mà nó được khai báo trong khi biến được khai báo với var có phạm vi toàn cục. Vì vậy, chúng ta có thể nói rằng var đúng hơn là một từ khóa xác định một biến trên toàn cầu bất kể phạm vi khối.
Phạm vi của let không chỉ giới hạn trong khối mà nó được định nghĩa mà còn biến với let cũng không được thêm vào với đối tượng cửa sổ toàn cục ngay cả khi nó được khai báo bên ngoài bất kỳ khối nào. Nhưng chúng ta có thể truy cập biến bằng var từ đối tượng window nếu nó được định nghĩa toàn cục.
Do phạm vi hạn chế, biến let thường được sử dụng khi có giới hạn việc sử dụng các biến đó chẳng hạn như trong vòng lặp for, vòng lặp while hoặc bên trong phạm vi điều kiện if, v.v. trong khi biến var được sử dụng khi giá trị của biến cần ít thay đổi hơn và được sử dụng để được truy cập trên toàn cầu.
Ngoài ra, một điểm khác biệt giữa var và let là biến với var có thể được khai báo lại thành một số giá trị khác trong khi không thể khai báo lại biến nếu nó được định nghĩa bằng let.
Ví dụ thể hiện sự khác biệt giữa var và let
let a = 'hello'; // globally scoped var b = 'world'; // globally scoped console.log(window.a); // undefined console.log(window.b); // 'world' var a = 'hello'; var a = 'world'; // No problem, 'hello' is replaced. let b = 'hello'; let b = 'world'; // SyntaxError: Identifier 'b' has already been declared