Không giống như các biến var-tuyên bố truyền thống, được gắn liền với toàn bộ kèm theo, hoạt động phạm vi phân biệt nơi họ xuất hiện - let
tờ khai đính kèm với phạm vi khối nhưng không được khởi tạo cho đến khi chúng xuất hiện trong khốiLàm cách nào để kiểm tra xem biến `let` đã được khai báo trên ES6 chưa?
Vì vậy:
console.log(a); // undefined
console.log(b); // ReferenceError!
var a;
let b;
Vì vậy, có vẻ như cẩu không được áp dụng ở đây.
Câu hỏi
Nếu vậy, làm thế nào tôi có thể an toàn kiểm tra xem biến đã được công bố?
NB - Tùy chọn tôi thấy là thử/nắm bắt và tất nhiên luôn đặt các biến số let
đầu tiên ở phạm vi. nhưng câu hỏi của tôi vẫn là
Bạn không thể kiểm tra xem có bất kỳ biến nào (hoặc 'let' hoặc' var') đã được khai báo hay không. Bạn chỉ có thể kiểm tra xem chúng đã được xác định chưa. Tại sao bạn vẫn cố gắng làm điều này? Trường hợp sử dụng của bạn là gì? –
@AaditMShah Trường hợp đang học. với var tôi có thể làm: 'if (typeof a === 'undefined')' –
Đã chỉnh sửa bình luận của tôi.Những gì bạn đang làm là kiểm tra xem biến đã được xác định chưa. Bạn không kiểm tra xem nó đã được khai báo chưa. –