Phân Biệt Var Và Let Trong JavaScript
Có thể bạn quan tâm
Trước đây, có thể nhiều bạn đã quen dùng var để khai báo biến trong JavaScript. Tuy nhiên, từ phiên bản ES6, mình khuyên bạn chỉ nên dùng từ khóa let. Vậy let giống và khác var như thế nào? Bài viết này sẽ giúp bạn phân biệt var và let trong JavaScript.
Qua đó, bạn biết cách sử dụng var và let sao cho phù hợp nhất. Cũng như, bạn có thể chuyển đổi mã nguồn từ var sang let mà không làm ảnh hưởng tới logic của chương trình hiện tại (những chương trình có mã nguồn từ trước khi let xuất hiện).
Giống nhau giữa var và let
Hai từ khóa var và let giống nhau là:
- Đều là từ khoá - keyword.
- Cùng được dùng để khai báo biến trong JavaScript
Khác nhau giữa var và let
Hai từ khóa var và let khác nhau ở phạm vi sử dụng của biến:
- Phạm vi của biến sử dụng var là phạm vi hàm hoặc bên ngoài hàm, toàn cục.
- Phạm vi của biến sử dụng let là phạm vi một khối (block), xác định bởi cặp {}.
Ví dụ sử dụng let:
function useLet() { console.log(j); // ReferenceError: j is not defined for (let j = 0; j < 3; j++) { console.log("j inside ", j); // 0, 1, 2 } console.log("j outside ", j); // ReferenceError: j is not defined } useLet();Biến j ở trên được khai báo sử dụng từ khóa let. Nên biến j chỉ được phép sử dụng trong vòng lặp for.
Nếu bạn truy cập biến j ngoài vòng lặp for thì đều bị lỗi ReferenceError: j is not defined.
Ví dụ sử dụng var:
function useVar() { console.log(i); // undefined for (var i = 0; i < 3; i++) { console.log("i inside ", i); // 0, 1, 2 } console.log("i outside ", i); // 3 } useVar();Phạm vi của biến sử dụng var là phạm vi của hàm chứa phần khai báo biến.
Mặc dù biến i được khai báo trong vòng lặp for, nhưng bạn vẫn có thể truy cập biến i ở mọi vị trí trong hàm.
Lúc đầu, giá trị của biến i là undefined, nên khi gọi console.log(i) lần đầu tiên, giá trị in ra là undefined chứ không phải là lỗi ReferenceError: i is not defined.
Và sau vòng lặp for, giá trị của biến i vẫn giữ nguyên là 3 thay vì undefined.
📝 Vấn đề với var là: bạn khó kiểm soát giá trị của biến và dễ dàng bị xung đột nếu như khai báo tên biến giống nhau ở nhiều nơi.
Nên sử dụng var hay let?
Như mình đã nói trong các bài viết trước, từ khóa var đã lỗi thời. Nên mình khuyên bạn chỉ nên sử dụng từ khóa let để khai báo biến.
💡 Một số bài viết trên trang Complete JavaScript vẫn đang sử dụng từ khóa var, vì mình đã viết chúng từ năm 2017.
Mình đang cập nhật nội dung từ từ và sẽ dần thay thế từ khóa var bằng từ khóa let.
Tham khảo:
- Biến là gì? Biến trong JS
- let
- var
Từ khóa » Khác Nhau Giữa Let Và Var
-
Phân Biệt Kiểu Biến Var, Let, Và Const Trong JavaScript - Viblo
-
3.Sự Khác Nhau Giữa Var Và Let - Viblo
-
Phân Biệt Sự Khác Nhau Giữa Var, Let Và Const Trong Lập Trình ES6
-
Phân Biệt Và Cách Dùng Var, Let, Và Const Trong JavaScript - Lê Văn Phú
-
Phân Biệt Let, Const Và Var Trong Javascript
-
Phân Biệt Var, Let Và Const Trong JavaScript
-
Let Và Var Trong JavaScript | Học Lập Trình JavaScript
-
Phân Biệt Var, Let Và Const Trong Javascript - 2KVN
-
Sự Khác Nhau Của Let Var Và Const - Blog Của Thư
-
Phân Biệt Var, Let Và Const Trong Javascript? - HHM Academy Hanoi
-
Sự Khác Biệt Giữa Sử Dụng Let Và Var Trong JavaScript Là Gì? - Tech Wiki
-
Xu Hướng 6/2022 # Var, Let Và Const Trong Es6 # Top View
-
Var, Let Và Const – 3 Quý Cô Xinh đẹp Nhà Javascript | TopDev