Khi kiểm tra phạm vi chức năng trong bảng điều khiển DevTools, tôi nhận thấy phạm vi "tập lệnh". Sau một chút nghiên cứu, dường như nó được tạo cho các biến số let
và const
.Mục đích của phạm vi kịch bản là gì?
Phạm vi của một hàm trong một kịch bản mà không const
hoặc let
biến:
Phạm vi của một hàm trong một kịch bản với một biến let
:
Tuy nhiên, sau bản in 1
trong bảng điều khiển - các biến trong phạm vi tập lệnh vẫn có thể được truy cập từ tập lệnh khác ts:
<script>let v = 1</script>
<script>console.log(v)</script>
Tôi đã nghe nói về các mô-đun ES6 trong đó các biến cấp cao nhất sẽ không thể truy cập từ bên ngoài mô-đun. Đó có phải là phạm vi được sử dụng cho hoặc nó có mục đích nào khác không?