Chúng ta có thể khai báo biến trong javascript không?

Có, bạn có thể sử dụng một biến JavaScript trước khi nó được khai báo, với một kỹ thuật gọi là cẩu. Trình phân tích cú pháp đọc qua chức năng hoàn chỉnh trước khi chạy nó

Hành vi trong đó một biến dường như được sử dụng trước khi nó được khai báo được gọi là cẩu

Ví dụ, sau đây,

rank = 5;
var rank;

Phần trên hoạt động giống như phần sau -

var rank;
rank = 2;

Hoisting trong JavaScript, cho phép chúng ta khai báo các biến, hàm hoặc lớp được di chuyển lên đầu phạm vi trước khi thực thi mã bất kể phạm vi của chúng là cục bộ hay toàn cầu

JavaScript phân bổ bộ nhớ cho tất cả các biến và hàm trước khi thực thi chúng. Lưu ý rằng cẩu có nghĩa là khai báo không khởi tạo

Do các biến và hàm được sử dụng trước khi chúng được khai báo trong mã nên có khả năng gặp phải các lỗi không mong muốn. Vì vậy, cẩu không được khuyến khích sử dụng. Palăng sẽ hoạt động khác với var, let và const. Chúng ta có thể kiểm tra bên dưới một cách chi tiết

Đầu tiên, chúng ta sẽ kiểm tra các ví dụ về cẩu với var. Sau này chúng ta sẽ kiểm tra chi tiết về biến cẩu

Ví dụ



   

Hoisting Example

Ở đây, chúng ta có thể thấy rằng chúng ta đã sử dụng biến x trước khi nó được khai báo

Bây giờ, chúng ta sẽ chỉ kiểm tra các khai báo của Palăng JavaScript chứ không kiểm tra các khởi tạo. Hãy xem một ví dụ khác

Ví dụ


   
   

Hoists only declarations

Tại đây, chúng ta có thể kiểm tra phương tiện cẩu y cần được khởi tạo trước khi sử dụng. Nhưng y không được khởi tạo. Vì vậy, đây không phải là cẩu. Đó là lý do tại sao giá trị y không được xác định. Chúng ta có thể viết đúng như đã đề cập trong ví dụ 1

Ví dụ



   Hoists only declarations
   
   

 

Ở đây, biến y được khai báo nhưng không được khởi tạo trước khi hiển thị

JavaScript chỉ nâng khai báo, không khởi tạo

Luôn lưu ý rằng, trong nền, trước tiên, JavaScript khai báo các biến và khởi tạo giá trị cho chúng. Trong JS, các biến không được khai báo không tồn tại cho đến khi mã được gán được thực thi. Vì vậy, các biến không được khai báo được coi là biến toàn cục khi mã gán được thực thi. Hãy tìm hiểu sâu hơn về biến cẩu

let và const cẩu

Tất cả chúng ta đều biết let và, const là phạm vi khối chứ không phải phạm vi chức năng. let và const được giới thiệu trong ES6. Chúng tôi biết ES6 sẽ không cho phép các giá trị không được khai báo. Nếu chúng ta cố gắng sử dụng các biến trước khi khai báo, nó sẽ báo lỗi tham chiếu. Không giống như var, các biến không được khởi tạo với giá trị mặc định. Hãy xem một ví dụ

Ví dụ



   

Hoisting with let

Ở đây, chúng ta có thể quan sát thấy rằng chúng ta đang cố truy cập giá trị x trước khi khai báo. Hãy xem một ví dụ khác với let

Ví dụ



   

Hoisting with let

Bây giờ, hãy kiểm tra với const

cẩu với const

Giống như let, chúng ta không thể sử dụng biến trước khi khai báo, và chúng ta cũng không thể chỉ khai báo biến mà còn phải khởi tạo giá trị cho biến. Nếu không, nó sẽ báo lỗi SyntaxError. Hãy xem một ví dụ

Ví dụ



   Hoisting with const
   

It will throw Uncaought SyntaxError: Missing initializer in const declaration

To see this error please open the Console of the browser

Chúng ta cần khởi tạo giá trị trong khi khai báo

Ví dụ

________số 8

Giống như, ví dụ trên cũng không thể thực hiện được với const. Nó sẽ đưa ra một lỗi tham chiếu

Bây giờ, hãy xem cẩu với các chức năng

cẩu chức năng

Chức năng cẩu cho phép chúng ta gọi một chức năng trước khi nó được xác định. Hãy xem một ví dụ

Ví dụ



   

Hoisting with function

Nếu các biểu thức hàm được gán cho các biến. Một đầu ra sẽ phụ thuộc vào phạm vi biến. Thích,

Ví dụ

var rank;
rank = 2;
0

Ví dụ

var rank;
rank = 2;
1

Ví dụ

var rank;
rank = 2;
2

Ở đây chúng ta có thể quan sát thấy rằng các hàm có biến sẽ hoạt động khác. Nếu chúng ta gán các biểu thức hàm là var, chúng ta sẽ nhận được TypeError và với let và const, chúng ta sẽ nhận được ReferenceError

Tuy nhiên, việc sử dụng các hàm trước khi khai báo chúng là vấn đề ưu tiên cá nhân của chúng tôi

Hy vọng hướng dẫn này sẽ cung cấp kiến ​​thức về hoisting trong js và hoisting hoạt động với biến và hàm

Điều quan trọng nhất khi học JavaScript là khối xây dựng cơ bản của nó, tôi. e. , Biến Javascript. Người ta phải biết cách khai báo một biến và các quy tắc khi khai báo Biến JavaScript. Nếu một người tuân theo tất cả các quy tắc trong khi khai báo một biến, người đọc thậm chí có thể hiểu mục đích của một biến cụ thể. Do đó, các biến đóng một vai trò quan trọng trong ngôn ngữ lập trình, vì nó được sử dụng để lưu trữ các giá trị

Phạm vi của Điều

  • Bài viết này cung cấp thông tin chi tiết về Biến JavaScript
  • Bài viết này cũng mô tả tất cả các quy tắc cần tuân theo khi khai báo biến javascript và lý do tại sao việc đặt tên lại quan trọng
  • Bài viết này mô tả sự khác biệt giữa các biến không xác định và không khai báo
  • Bài viết này mô tả phạm vi của biến javascript và đưa ra danh sách tất cả các từ dành riêng trong Javascript

Giới thiệu về biến Javascript

Trong JavaScript, một biến là tên được đặt cho một vị trí bộ nhớ được sử dụng để lưu trữ bất kỳ loại dữ liệu nào. Như tên cho thấy, các biến có nghĩa là nó có thể thay đổi, tôi. e. , dữ liệu được lưu trữ trong một biến có thể được thay đổi hoặc cập nhật sau trong chương trình nếu được yêu cầu. Tóm lại, một biến là một tên tượng trưng cho (hoặc tham chiếu đến) một dữ liệu hoặc một phần thông tin

Điểm nổi bật. Biến Javascript là một vùng chứa, không phải giá trị, điều này có nghĩa là bản thân các biến không phải là giá trị;

Ví dụ. Hãy nghĩ về một hộp có tên Tuổi lưu trữ tuổi của một người. Vì vậy, tên là tên biến và tuổi được lưu trữ trong đó là giá trị

Chúng ta có thể khai báo biến trong javascript không?

Quy tắc/Định danh trong khi khai báo biến Javascript

Để khai báo một biến Javascript, người ta phải biết các quy tắc để tuân theo, vì người ta có thể làm rối mã trong khi khai báo một biến. Nếu một người không tuân theo các quy tắc, anh ấy / cô ấy có thể sẽ gặp lỗi

Các quy tắc như sau

  • Các biến phân biệt chữ hoa chữ thường trong Javascript. Điều này có nghĩa là tên trường và tên trường được coi là các biến khác nhau
  • Chúng ta có thể sử dụng các chữ cái, chữ số, ký hiệu như ký hiệu đô la ($) và dấu gạch dưới ( _ ) trong tên biến
  • Chúng ta không thể bắt đầu một tên biến với một chữ số (0-9)
  • Chúng tôi không thể sử dụng bất kỳ từ khóa dành riêng nào (hàm, trả về, typeof, ngắt, v.v. ) của Javascript dưới dạng tên biến

Điểm quan trọng

  • Javascript cho phép nhiều khoảng trắng và thậm chí ngắt dòng trong khai báo biến
  • Chúng ta có thể phân tách các khai báo biến khác nhau bằng dấu phẩy
  • Trong Javascript, chúng ta có thể lưu trữ bất kỳ loại giá trị nào trong một biến và cũng có thể thay đổi nó bất cứ lúc nào

ví dụ

  1. Khai báo biến JavaScript bằng ngắt dòng và dấu cách
  1. Khai báo hai biến trong một dòng cách nhau bởi dấu phẩy
  1. Sử dụng từ khóa dự trữ khi khai báo biến
var rank;
rank = 2;
3
  1. Ví dụ về tên biến hợp lệ
var rank;
rank = 2;
4
  1. Ví dụ về tên biến không hợp lệ
var rank;
rank = 2;
5

:::

Cú pháp (Đúng và Sai)

Sau khi biết Biến Javascript là gì và các quy tắc khai báo nó, chúng ta sẽ đi sâu vào cú pháp khai báo

Cú pháp đúng

var rank;
rank = 2;
6

Các dòng trên là cú pháp đúng để khai báo một biến. Chúng tôi sẽ có thông tin chi tiết về khai báo một biến sau trong bài viết này

ví dụ

var rank;
rank = 2;
7

Cú pháp sai

Chúng ta không nên khai báo biến bằng cách sử dụng các ví dụ sau

var rank;
rank = 2;
8

Khai báo một biến

Người ta phải tạo một biến trước khi sử dụng nó. Trong thuật ngữ lập trình, chúng tôi gọi đây là khai báo một biến. Trong Javascript, chúng ta có thể khai báo một biến bằng cách sử dụng từ khóa let, var hoặc const

var rank;
rank = 2;
9

Ở đây chúng tôi đang tạo hai biến, một sử dụng let và một sử dụng var. Bạn thậm chí có thể thử viết những dòng này trong bảng điều khiển của trình duyệt web của mình

Hiện tại, các biến này không lưu trữ bất kỳ giá trị nào, chúng chỉ được khai báo. Nói cách khác, chúng ta có một ô trống có tên trườngTên và địa chỉ

Nếu bạn muốn xem giá trị của tên trường, đầu ra sẽ không xác định. Chúng ta sẽ xem ý nghĩa của từ không xác định trong phần sau

Khai báo biến không có từ khóa Var?

Chúng ta đã thấy cách khai báo một biến với var. Bây giờ chúng ta sẽ xem cách chúng ta có thể khai báo một biến mà không sử dụng var hay let

Để khai báo một biến mà không cần sử dụng bất kỳ từ khóa nào, chúng ta chỉ cần viết tên biến và phải gán giá trị cho biến đó. Khi làm điều này, biến trở thành biến toàn cục (dòng này có nghĩa là phạm vi của biến là toàn cầu. Phạm vi của biến được mô tả sau trong bài viết này. )



   

Hoisting Example

0

Hãy thử chạy các dòng trên trong bảng điều khiển của trình duyệt web của bạn

Tuy nhiên, không nên khai báo một biến mà không sử dụng var vì nó có thể làm thay đổi giá trị của một biến toàn cục đã tồn tại

Ghi chú



   

Hoisting Example

1

Dòng này không phải là một tuyên bố. Nếu bạn thực thi dòng này trong bảng điều khiển, nó sẽ cung cấp cho bạn giá trị của tuổi nếu nó đã được khai báo, nếu không sẽ dẫn đến ReferenceError

Chúng ta có thể khai báo biến trong javascript không?

Khởi tạo một biến

Sau khi bạn đã khai báo một biến, bạn có thể khởi tạo biến đó với một giá trị. Việc khởi tạo này có thể được thực hiện bằng cách chỉ cần viết tên biến theo sau là dấu bằng và sau đó là giá trị bạn muốn biến lưu trữ



   

Hoisting Example

2

Bây giờ, hãy thử viết những dòng này trong bảng điều khiển. Viết xong những dòng này, bạn chỉ việc viết tên biến và nhấn enter, kết quả xuất ra sẽ là giá trị lưu trong đó

var rank;
rank = 2;
40

Ghi chú. Bạn thậm chí có thể khai báo và khởi tạo một biến trong một dòng. Ví dụ

var rank;
rank = 2;
41

Không xác định so với. Biến không được khai báo

biến không xác định

Sau khi học phần khởi tạo và khai báo biến, các bạn đã thấy khi chúng ta khai báo biến mà không khởi tạo biến thì gọi là biến không xác định. Tức là biến được khai báo nhưng không khởi tạo giá trị

Ví dụ

var rank;
rank = 2;
42

biến không được khai báo

Giả sử bạn muốn sử dụng một biến trong câu lệnh, nhưng biến đó không được khai báo trước đó. Trong trường hợp này, mã sẽ ném ReferenceError vì biến không được khai báo bằng từ khóa var. Nói tóm lại, nếu chúng ta truy cập bất kỳ biến nào không được khai báo, mã sẽ gây ra lỗi thời gian chạy

Ví dụ

Hãy thử chạy dòng trên trong bảng điều khiển và bạn sẽ gặp lỗi hiển thị rằng ==ReferenceError. xyz không được xác định ==. Điều này chỉ ra rằng xyz không được khai báo trước đó, bạn đang cố truy cập vào một biến không được khai báo

Chế độ không nghiêm ngặt

Chế độ không nghiêm ngặt mặc định trong javascript đôi khi được gọi là chế độ cẩu thả

Trong Javascript, trừ khi chúng ta viết 'sử dụng nghiêm ngặt' bên trong mã, mã vẫn ở chế độ không nghiêm ngặt. Ở chế độ không nghiêm ngặt, bạn có ít hạn chế hơn trong việc viết mã, chẳng hạn như

  • Người ta có thể khai báo cùng một biến nhiều lần bằng từ khóa var

    Ví dụ

    Ở đây chúng ta khai báo cùng một biến hai lần, sử dụng var

  • Người ta thực sự có thể khai báo một biến với var sau khi bạn đã khởi tạo biến đó. Điều này sẽ chỉ hoạt động ở chế độ không nghiêm ngặt

    Ví dụ

    var rank;
    rank = 2;
    
    43

    Mã này sẽ hoạt động do có một biến cẩu trong Javascript. Chúng ta sẽ thảo luận về Palăng trong phần sau của bài viết

chế độ nghiêm ngặt

JavaScript đã giới thiệu chế độ nghiêm ngặt trong ECMAScript 5. Chế độ này là một cách để tải phiên bản JavaScript bị hạn chế, tôi. e. , có một số hạn chế trong khi viết mã. Lợi ích của việc sử dụng chế độ nghiêm ngặt

  • Nó loại bỏ một số lỗi hoặc cảnh báo im lặng và thay vào đó đưa ra các lỗi để giúp gỡ lỗi
  • Nó giúp viết mã JavaScript “an toàn” dễ dàng hơn. Để tìm hiểu về "mã bảo mật", bạn có thể tìm hiểu chi tiết bằng cách đọc bất kỳ bài viết nào về "chế độ nghiêm ngặt trong JavaScript" trên google
  • Nó ngăn người dùng thực hiện các hành động “không an toàn”, chẳng hạn như xóa thuộc tính khỏi đối tượng chung. Ví dụ. xóa đối tượng. kết quả nguyên mẫu trong một lỗi.
    Chúng ta có thể khai báo biến trong javascript không?

Chúng tôi có thể làm cho toàn bộ mã (phạm vi toàn cầu) hoặc các chức năng riêng lẻ chạy ở chế độ nghiêm ngặt. Để làm cho một chức năng hoặc toàn bộ tập lệnh chạy ở chế độ nghiêm ngặt, chúng ta chỉ cần viết 'sử dụng nghiêm ngặt' khi bắt đầu

Hạn chế khai báo biến trong chế độ nghiêm ngặt

  • Trong JS bình thường, nếu không dùng var thì ta tạo biến toàn cục, nhưng ở chế độ nghiêm ngặt thì không làm được, tránh trường hợp vô tình tạo biến toàn cục

    Ví dụ

    var rank;
    rank = 2;
    
    44

    Nếu chúng ta thực thi đoạn mã trên, nó sẽ báo lỗi tham chiếu, vì biến không được khai báo trước và đồng thời, nó sẽ không tạo bất kỳ biến toàn cục nào có tên biến

Nâng cấp biến JavaScript

Tính năng quan trọng và độc đáo nhất trong JavaScript là Variable Hoisting hoặc var Hoisting. Trong JavaScript, tất cả các khai báo biến được xử lý trước khi bất kỳ phần nào khác của mã được thực thi. Do đó, khai báo tất cả các biến ở đầu mã. Tính năng này được gọi là hoisting trong JavaScript. Các khai báo được di chuyển lên đầu mã chung hoặc lên đầu hàm, tùy thuộc vào vị trí khai báo. Việc di chuyển các khai báo lên đầu hàm hoặc mã toàn cầu này được thực hiện tự động bởi chính JS trong nội bộ. Chúng tôi không thực sự thấy sự thay đổi. Điều này sẽ được xóa bởi các ví dụ dưới đây. Hoisting cũng khởi tạo biến với "undefined"

Ví dụ

var rank;
rank = 2;
45

Đoạn mã trên giống như

var rank;
rank = 2;
46

Ghi chú. Hoisting chỉ di chuyển khai báo lên đầu phạm vi (toàn cầu hoặc chức năng). Nó không bao giờ di chuyển các dòng phân công

Ví dụ

var rank;
rank = 2;
47

Mặc dù theo mặc định, hoisting giúp khai báo các biến ở trên cùng, nhưng chúng tôi khuyên bạn nên khai báo các biến ở đầu một hàm hoặc toàn cục theo cách thủ công vì người ta có thể bị nhầm lẫn nếu họ sử dụng một biến trước khi khai báo nó.

Ghi chú. Các biến được khai báo bằng let và const cũng được nâng lên nhưng chúng không được khởi tạo với undefined. Vì vậy, nếu ai đó cố gắng sử dụng các biến trước khi khai báo, thì nó sẽ đưa ra một ngoại lệ

Sự khác biệt giữa 'var' và 'let'

Bạn có thể thắc mắc let là gì, vì chúng tôi chưa thảo luận chi tiết về nó. Ở đây chúng tôi sẽ giải thích sự khác biệt giữa var và let. Trước hết, cả hai từ khóa đều được sử dụng để khai báo biến trong JavaScript

  • Sự khác biệt chính giữa var và let là phạm vi của biến được xác định bởi let bị giới hạn trong khối mà nó được khai báo, trong khi biến được khai báo bằng var có phạm vi toàn cục, i. e. , có thể được sử dụng trong toàn bộ mã
  • Nếu chúng ta khai báo một biến sử dụng var bên ngoài bất kỳ khối nào (i. e. , trong phạm vi toàn cục), thì biến đó sẽ được thêm vào đối tượng cửa sổ, trong khi các biến được khai báo bằng let sẽ không bao giờ được thêm vào nó
  • Chúng ta không thể khai báo cùng một biến nhiều lần nếu một trong số chúng được khai báo bằng let, trong khi chúng ta có thể khai báo cùng một biến nhiều lần bằng cách sử dụng var
  • Có thể thực hiện nâng biến bằng cách sử dụng var, nhưng không thể thực hiện nâng nâng bằng cách sử dụng let

Hãy thử các mã dưới đây trong bảng điều khiển của trình duyệt của bạn và bạn sẽ hiểu rõ hơn

ví dụ 1

var rank;
rank = 2;
48

ví dụ 2

var rank;
rank = 2;
49

Trong trường hợp này, phạm vi của biến y chỉ giới hạn trong hàm, chính vì vậy mà chúng ta không thể tìm thấy tham chiếu đến biến y bên ngoài hàm, từ đó dẫn đến lỗi tham chiếu. Chúng tôi sẽ mô tả Phạm vi biến trong phần sau của bài viết này

Thay đổi Giá trị/Cập nhật Biến

Khi một biến được khai báo hoặc khởi tạo, chúng ta có thể thay đổi giá trị của nó mọi lúc mọi nơi trong phạm vi của nó. Nó tương tự như khởi tạo lại biến. Chúng tôi có thể cập nhật/thay đổi giá trị bằng cách chỉ cần nhập tên biến theo sau là dấu bằng và sau đó là giá trị mới mà chúng tôi muốn lưu trữ

Ví dụ

var rank;
rank = 2;
50

Phạm vi biến JavaScript

Phạm vi của một biến có nghĩa là, khả năng hiển thị của một biến. Đó là, các phần của chương trình của chúng tôi nơi bạn có thể sử dụng một biến

Trong JavaScript, chỉ có hai loại phạm vi biến

Biến cục bộ JavaScript

Biến cục bộ chỉ hiển thị bên trong một hàm nơi nó được xác định. Chúng ta không thể sử dụng biến cục bộ bên ngoài hàm mà nó được xác định. Khi làm như vậy, nó sẽ dẫn đến lỗi tham chiếu

Ví dụ

var rank;
rank = 2;
51

Biến toàn cục JavaScript

Biến toàn cục có phạm vi toàn cầu, có nghĩa là nó có thể được sử dụng và xem ở mọi nơi trong chương trình

Ví dụ. Chúng ta có thể sử dụng một biến được khai báo toàn cầu bên trong một hàm

var rank;
rank = 2;
52

Vì global_var được khai báo trên toàn cục nên nó có thể được sử dụng bên trong hàm cũng như bên ngoài hàm (i. e. trong phạm vi toàn cầu)

Các từ dành riêng cho JavaScript

Trong Javascript có một số từ khóa dành riêng không thể dùng làm tên biến. Một số từ dành riêng được đưa ra trong bảng này

breakcasecatch classconst continuetrình gỡ lỗimặc địnhxóadoelsexuất kéo dàicuối cùng cho chức năngnếunhậptrongtrường hợpmớitrở lạisiêu chuyển đổicái nàynémthửloạicủavarvoidtrong khivới

Javascript Dynamic Typing

Bạn có thể đã nghe nói rằng JavaScript được gọi là "ngôn ngữ được gõ động". Điều này có nghĩa là kiểu dữ liệu của một biến không cố định. Một biến có thể lưu trữ bất kỳ loại dữ liệu nào và người dùng có thể đạt được điều này mà không cần chỉ định loại dữ liệu mà họ muốn lưu trữ (ví dụ:. số, chuỗi, đối tượng, mảng, v.v.)

Ngoài ra, người ta có thể thay đổi giá trị được lưu trữ thành bất kỳ loại dữ liệu nào, bất cứ lúc nào một cách tự do

ví dụ

var rank;
rank = 2;
53

Hãy thử chạy những dòng này trong bảng điều khiển để hiểu rõ hơn

Hằng JavaScript

Bạn đã thấy rằng các biến là những giá trị có thể thay đổi nếu cần. Giờ đây, JavaScript cũng cho phép bạn khai báo các hằng số. Chúng tôi khai báo một hằng số bằng cách sử dụng từ khóa const;

cú pháp

var rank;
rank = 2;
54

Các hằng số này tương tự như các biến nhưng có một số thuộc tính khác với các biến, chẳng hạn như

  • Hằng số phải được khởi tạo khi bạn khai báo, nếu không nó sẽ báo lỗi " SyntaxError. Thiếu bộ khởi tạo trong khai báo const "
  • Sau khi đã gán giá trị cho hằng số, bạn không thể gán lại giá trị sau đó. Đó là, một giá trị được cố định thành một hằng số

ví dụ 1

var rank;
rank = 2;
55

ví dụ 2

var rank;
rank = 2;
56

Ghi chú. Mặc dù chúng ta không thể thay đổi giá trị của hằng nhưng nếu giá trị của hằng là một đối tượng thì chúng ta có thể sửa đổi thuộc tính của đối tượng

Ví dụ

var rank;
rank = 2;
57

Bạn thậm chí có thể thêm, cập nhật hoặc xóa các thuộc tính khỏi một đối tượng không đổi, bởi vì bạn chỉ đang thay đổi các chi tiết của đối tượng chứ không phải tham chiếu. Hằng số sẽ vẫn trỏ đến cùng một đối tượng

Bạn có thể khai báo loại biến trong JavaScript không?

Bạn có thể khai báo các biến để giải nén các giá trị bằng cách sử dụng cú pháp gán phá hủy . Ví dụ: const {bar} = foo. Điều này sẽ tạo một biến có tên là bar và gán cho nó giá trị tương ứng với khóa cùng tên từ đối tượng foo của chúng ta. Các biến phải luôn được khai báo trước khi chúng được sử dụng.

Chúng ta có thể khai báo biến không có var trong JavaScript không?

myVariable = 'abc'; . Nó đơn giản có nghĩa là bạn đã tạo một biến toàn cục. Kết quả hiển thị test , có nghĩa là nó hoạt động

Điều gì xảy ra khi chúng ta khai báo một biến trong JavaScript?

Nếu bạn sử dụng từ khóa này để khai báo một biến thì biến sẽ chỉ có thể truy cập được trong khối đó tương tự như biến được xác định bằng cách sử dụng let . Vì vậy chúng ta nên gán giá trị trong khi khai báo biến.