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 » Khai Báo Let Trong Javascript
-
Phân Biệt Kiểu Biến Var, Let, Và Const Trong JavaScript - Viblo
-
2.Khai Báo Và Sử Dụng Biến Let Trong Javascript - Viblo
-
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
-
Biến Kiểu Let Và Var Toàn Tập Trong Javascript - CodeLearn
-
Phân Biệt Sự Khác Nhau Giữa Var, Let Và Const Trong Lập Trình ES6
-
Khai Báo Biến Bằng Từ Khoá Let | Lê Vũ Nguyên Dạy Học Lập Trình
-
Các Cách Khai Báo Biến Trong Javascript - Freetuts
-
Var, Let Và Const – 3 Quý Cô Xinh đẹp Nhà Javascript | TopDev
-
Var, Let Và Const Trong ES6 | Huy's Blog
-
Phân Biệt Var, Let Và Const - Javascript - AI Design - Thiết Kế Web ...
-
Tìm Hiểu Biến Trong JavaScript - KungFu Tech
-
Biến Trong JavaScript - Phạm Công Thành
-
Biến Trong JavaScript