Biến
Trước ES6 chúng ta chỉ có một cách duy nhất để định nghĩa các biến: với từ khóa var. Nếu như chúng ta không định nghĩa các biến, thì chúng sẽ được gán cho global object. Khi chúng ta đang ở chế độ nghiêm ngặt, chúng ta sẽ gặp lỗi nếu như các biến của chúng ta không được định nghĩa.
Bây giờ, với ES6, chúng ta có ba cách để định nghĩa các biến: var, let, và const.
Ví dụ sau sẽ khai báo biến bằng từ khóa var:
Nếu như bạn sử dụng từ khóa var bên trong một function, thì biến sẽ thuộc về function đó.
Nếu như bạn sử dụng từ khóa var bên trong một khối, ví dụ một vòng lặp for, thì biến vẫn có sẵn bên ngoài khối đó.
Lưu ý: var có phạm vi hàm, không phải là phạm vi khối.
Ví dụ sau sẽ khai báo biến bằng từ khóa let:
Từ khóa let là phiên bản phạm vi khối của var, và được giới hạn ở khối (hoặc biểu thức) nơi nó được định nghĩa.
Nếu như bạn sử dụng let bên trong một khối, ví dụ một vòng lặp for, thì biến chỉ có sẵn bên trong vòng lặp đó.
Lưu ý: let có phạm vi khối.
Ví dụ sau sẽ khai báo biến bằng từ khóa const:
const là một từ khóa mà một khi biến đã được tạo ra, thì giá trị của nó không bao giờ có thể thay đổi được.
Lưu ý: const có phạm vi khối.
Từ khóa const gây hiểu lầm một chút.
Từ khóa const không định nghĩa một giá trị bất biến. Nó định nghĩa một hằng số tham chiếu đến một giá trị.
Bởi vì điều này mà bạn không thể:
- Gán lại một giá trị bất biến.
- Gán lại một constant array.
- Gán lại một constant object.
Nhưng bạn có thể:
- Thay đổi các phần tử của constant array.
- Thay đổi các thuộc tính của constant object.
Không có nhận xét nào:
Đăng nhận xét