Mục lục
Mục lục
Trong phần 2, chúng ta sẽ tìm hiểu về cách làm việc với biến trong JavaScript, bao gồm khai báo, gán giá trị, và thay đổi giá trị của biến. Ngoài ra, chúng ta cũng sẽ khám phá phạm vi (scope) trong JavaScript và một số hàm thường dùng.
JavaScript cung cấp ba từ khóa để khai báo biến: var, let, và const.
varPhạm vi hàm: Biến khai báo bằng var có phạm vi trong hàm chứa nó.
Hoisting: Biến var được hoisting lên đầu phạm vi của nó, nhưng chỉ hoisting phần khai báo, không hoisting phần gán giá trị.
letPhạm vi khối: let có phạm vi trong khối code (block) chứa nó.
Không hoisting giá trị: let cũng được hoisting nhưng nằm trong “Temporal Dead Zone” cho đến khi gặp dòng khai báo.
constPhạm vi khối: Tương tự let, const có phạm vi trong khối code.
Không thể thay đổi giá trị: Biến const phải được gán giá trị khi khai báo và không thể gán lại sau đó.
Hoisting là một hành vi trong JavaScript khi các khai báo biến và hàm được đưa lên đầu phạm vi của chúng trước khi code được thực thi.
varKhi sử dụng var, JavaScript hoisting phần khai báo biến lên đầu phạm vi, nhưng không hoisting phần gán giá trị.
Trong ví dụ trên, JavaScript xử lý như sau:
let và const - Temporal Dead Zonelet và const cũng được hoisting, nhưng khác với var, chúng không được khởi tạo với giá trị undefined. Thay vào đó, chúng tồn tại trong “Temporal Dead Zone” cho đến khi đến dòng khai báo.
| Đặc điểm | var |
let |
const |
|---|---|---|---|
| Phạm vi | Global scope / Function scope | Block scope | Block scope |
| Hoisting | Hoisted và khởi tạo với undefined |
Hoisted nhưng không khởi tạo (TDZ) | Hoisted nhưng không khởi tạo (TDZ) |
| Gán lại giá trị | Có thể | Có thể | Không thể |
| Khai báo lại | Có thể | Không thể trong cùng phạm vi | Không thể trong cùng phạm vi |
| Khởi tạo | Không bắt buộc | Không bắt buộc | Bắt buộc |
| Giới thiệu từ | ES1 (1997) | ES6 (2015) | ES6 (2015) |
Tránh sử dụng var trong code mới
Chỉ nên sử dụng khi cần tương thích với trình duyệt cũ không hỗ trợ ES6
Cẩn thận với hoisting và phạm vi
Sử dụng let :
Dùng khi giá trị biến cần thay đổi
Phù hợp cho các biến counter, các giá trị tạm thời
Nên khai báo càng gần nơi sử dụng càng tốt
Sử dụng const :
Ưu tiên sử dụng const làm mặc định
Dùng cho các giá trị không thay đổi, tham chiếu không đổi
Lưu ý: với object và array, nội dung bên trong vẫn có thể thay đổi
Toán tử gán = được sử dụng để gán giá trị cho biến.
Biến khai báo bằng var hoặc let có thể thay đổi giá trị trong quá trình thực thi.
Scope (phạm vi) xác định nơi biến có thể được truy cập trong code.
Biến khai báo ngoài mọi hàm hoặc khối code có phạm vi toàn cục.
Biến khai báo trong hàm hoặc khối code có phạm vi cục bộ.
Tránh sử dụng quá nhiều biến toàn cục để giảm thiểu xung đột và lỗi.
Sử dụng let và const để kiểm soát phạm vi biến chặt chẽ hơn.
Ưu tiên phạm vi nhỏ nhất có thể cho biến.
alert()Hiển thị hộp thoại thông báo.
confirm()Hiển thị hộp thoại xác nhận với hai nút OK và Cancel.
setTimeout()Thực thi hàm sau một khoảng thời gian.
setInterval()Thực thi hàm định kỳ sau mỗi khoảng thời gian.
Trong phần tiếp theo, chúng ta sẽ khám phá sâu hơn về các toán tử, biểu thức cơ bản, các kiểu so sánh, câu lệnh rẽ nhánh, vòng lặp bờ la bờ la. Nói chung là nếu mình khum lười hihi. Cảm ơn các bạn đã đọc ạaa