Trong JavaScript, let là một từ khóa được sử dụng để khai báo một biến phạm vi khối. Thông thường, từ khóa var được sử dụng để khai báo một biến trong JavaScript, biến này được coi là biến bình thường, nhưng các biến được khai báo bằng từ khóa let đều nằm trong phạm vi khối.
JavaScript cung cấp ba cách để khai báo một biến. var, const và để. Các từ khóa này cung cấp các chức năng khác nhau. Var là một phương thức truyền thống để khai báo một biến trong khi từ khóa const và let được giới thiệu sau bởi ES2015/ES6, biến phạm vi khối creae
Trước đó, chỉ có hai loại phạm vi biến trong JavaScript. Phạm vi toàn cầu và Phạm vi chức năng
Cú pháp của let
Đây là cú pháp để khai báo một biến sử dụng từ khóa let
ví dụ
Dưới đây là các ví dụ khác nhau được thảo luận để giúp bạn hiểu cách biến let hoạt động bên trong và bên ngoài khối hoặc hàm. Đây là những ví dụ đơn giản để sử dụng biến được khai báo bằng lệnh let trong các phạm vi khác nhau
ví dụ 1. Phạm vi toàn cầu
Ở đây, bạn có thể thấy rằng một biến được khai báo trong phần thân chính hoặc bên ngoài hàm đều có phạm vi toàn cục. Vì vậy, nó có thể được truy cập từ bất cứ đâu bên trong hoặc bên ngoài chức năng
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Outside the function x = 20 Inside the function x = 20
Ảnh chụp màn hình
Đây là đầu ra web cho chương trình trên
ví dụ 2. Phạm vi chức năng
Trong ví dụ này, bạn sẽ thấy một biến được khai báo bên trong hàm chỉ có phạm vi hàm. Vì vậy, nó không được phép truy cập bên ngoài chức năng
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Tại đây, bạn sẽ thấy rằng chỉ có câu lệnh đầu tiên nằm bên trong hàm được in ra và câu lệnh thứ hai chưa được hiển thị. Nó xử lý num không xác định bên ngoài phạm vi chức năng
Inside the function num = 15
Ảnh chụp màn hình
Đây là đầu ra web cho chương trình trên
Chế độ xem bảng điều khiển
Xem kết quả giao diện điều khiển cho chương trình trên để biết vấn đề tại sao câu lệnh thứ hai không in. Trong trình duyệt của bạn, nhấp vào ba dấu chấm và đi tới Công cụ khác -> Công cụ dành cho nhà phát triển -> Bảng điều khiển và xem lỗi trong bảng điều khiển như hình bên dưới
UncaughtReferenceError: num is not defined
ví dụ 3. Phạm vi chặn
Trong ví dụ này, bạn sẽ thấy rằng một biến được khai báo bên trong khối không thể được sử dụng bên ngoài khối vì nó có phạm vi khối
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Ở đây chỉ có câu lệnh block mới hiển thị giá trị của biến num được khai báo bằng từ khóa let. Câu lệnh thứ hai sẽ không hiển thị giá trị của biến num
Inside the function num = 30
Ảnh chụp màn hình
Đây là đầu ra web cho chương trình trên
Chế độ xem bảng điều khiển
Xem kết quả giao diện điều khiển cho chương trình trên để biết vấn đề tại sao câu lệnh thứ hai không in. Trong trình duyệt của bạn, nhấp vào ba dấu chấm và đi tới Công cụ khác -> Công cụ dành cho nhà phát triển -> Bảng điều khiển và xem lỗi trong bảng điều khiển như hình bên dưới
UncaughtReferenceError: num is not defined
Ví dụ 4. Khai báo lại biến trong các khối khác nhau
Trong ví dụ này, chúng ta sẽ khai báo một biến có cùng tên trong các khối khác nhau và hiển thị giá trị của nó
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Khi thực thi đoạn mã trên, điều này sẽ tạo ra lỗi vì không được phép khai báo lại bằng cách sử dụng biến let. Vì vậy, nó sẽ không hiển thị bất kỳ đầu ra nào trên trình duyệt
Ảnh chụp màn hình
Đây là đầu ra trang web trống cho chương trình trên
Chế độ xem bảng điều khiển
Nếu bạn thấy đầu ra của bàn điều khiển, điều này sẽ hiển thị lỗi được tạo khi thực hiện chương trình này
SyntaxError: redeclaration of let x note: Previously declared at line 2, column 5
Let khác với từ khóa var như thế nào?
Trong ví dụ dưới đây, bạn có thể kiểm tra xem biến được khai báo bằng từ khóa let và var có phạm vi và sức mạnh biến khác nhau không
Sự khác biệt chính giữa let và var là phạm vi của chúng. Var có phạm vi toàn cầu trong khi let là phạm vi khối. Xem xét các ví dụ dưới đây để hiểu sự khác biệt
Phạm vi biến đổi
Trong các ví dụ này, chúng tôi sẽ chỉ cho bạn phạm vi biến cho các biến được khai báo bằng cả var và let
biến. Ví dụ phạm vi toàn cầu
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Value of x before the block: undefined Value of x after the block: 28
Ảnh chụp màn hình
Xem ảnh chụp màn hình web cho chương trình trên
để cho. Ví dụ về phạm vi khối
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Initial value of x: 30 Value of x inside the block: 37
Ảnh chụp màn hình
Xem ảnh chụp màn hình web cho chương trình trên
Các ví dụ trên sẽ cho bạn thấy các biến có phạm vi khác nhau bên trong và bên ngoài khối như thế nào khi được khai báo bằng từ khóa var và let
Phạm vi vòng lặp
Trong các ví dụ này, chúng tôi sẽ chỉ cho bạn phạm vi biến cho các biến được khai báo bằng cả var và let
để cho. Ví dụ về phạm vi vòng lặp
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Tại đây, bạn sẽ thấy giá trị ban đầu của i sẽ hiển thị vì khai báo lại không được phép sử dụng từ khóa let
________số 8
Ảnh chụp màn hình
Xem ảnh chụp màn hình web cho chương trình trên
var. Ví dụ về phạm vi vòng lặp
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
Tại đây, bạn sẽ thấy rằng giá trị cập nhật của i sẽ hiển thị vì việc khai báo lại được phép sử dụng từ khóa var
Final value of x outside of the loop: 10
Ảnh chụp màn hình
Xem ảnh chụp màn hình web cho chương trình trên
khai báo lại
Xem các ví dụ dưới đây để hiểu biến nào được phép khai báo và biến nào không. Khai báo biến được phép ở bất kỳ đâu trong chương trình bằng cách sử dụng var