
1. Các cách khai báo biến
JavaScript hiện đại có 3 từ khóa chính để tạo biến: `let`, `const`, và `var`. Ngoài ra, bạn có thể tự tạo biến mà không cần từ khóa (nhưng điều này cực kỳ không nên).
`let` và `const` (Khuyên dùng):
Được giới thiệu từ phiên bản ES6 (2015), hai từ khóa này giải quyết được rất nhiều lỗi logic so với `var`.
- `const`: Dùng cho các giá trị không bao giờ thay đổi (hằng số). Hãy ưu tiên dùng `const` nếu bạn không định gán lại giá trị mới cho biến đó.
- `let`: Dùng cho các biến mà giá trị có thể thay đổi sau này.
`var` (Lỗi thời):
Đã được dùng từ năm 1995 đến 2015. Hiện nay rất ít người dùng vì nó không có phạm vi khối (Block Scope) và dễ gây lỗi “ghi đè” biến ngoài ý muốn.
—
2. Phạm vi khối (Block Scope)
Một trong những điểm quan trọng nhất khi dùng `let` và `const` là Block Scope.
- Biến khai báo trong cặp ngoặc nhọn `{ }` thì không thể truy cập được từ bên ngoài.
- Biến `var` thì ngược lại, nó sẽ “thoát” ra ngoài khối và có thể truy cập được từ bất kỳ đâu trong hàm hoặc toàn cục.
Ví dụ:
{
let x = 2; // x chỉ sống trong khối này
var y = 3; // y sống toàn cục
}
// console.log(x); // Lỗi! x không tồn tại ở đây
console.log(y); // In ra 3
—
3. Quy tắc đặt tên biến (Identifiers)
- Tên biến có thể chứa chữ cái, chữ số, dấu gạch dưới `_` và dấu đô la `$`.
- Không được bắt đầu bằng chữ số.
- Phân biệt chữ hoa/chữ thường (biến `Age` khác với `age`).
- Không được dùng các từ khóa của JS (như `let`, `function`, `if`…) làm tên biến.
—
4. 8 Kiểu dữ liệu trong JavaScript
JS là ngôn ngữ có kiểu dữ liệu động. Một biến có thể đang giữ chuỗi rồi sau đó đổi sang giữ số mà không bị lỗi.
1. String: Văn bản, đặt trong nháy đơn `’…’` hoặc nháy kép `”…”`.
2. Number: Số (cả số nguyên và số thực).
3. BigInt: Dành cho các số nguyên cực lớn vượt quá giới hạn của `Number`.
4. Boolean: Chỉ có hai giá trị `true` (đúng) hoặc `false` (sai).
5. Undefined: Khi biến đã khai báo nhưng chưa được gán giá trị.
6. Null: Một giá trị rỗng hoặc không tồn tại (được gán chủ đích).
7. Symbol: Kiểu dữ liệu duy nhất và không thể thay đổi, dùng làm định danh.
8. Object: Kiểu dữ liệu phức tạp (gồm cả Array và Date).
Cách kiểm tra kiểu dữ liệu:
Dùng toán tử `typeof`.
typeof "Tuấn"; // "string"
typeof 1998; // "number"
typeof true; // "boolean"
—
5. Hiện tượng Hoisting
Trong JS, bạn có thể gọi biến `var` trước khi khai báo nó mà không bị lỗi (nó sẽ trả về `undefined`). Đây gọi là Hoisting. Tuy nhiên, với `let` và `const`, việc này sẽ gây lỗi ngay lập tức. Đây là một lý do nữa để bạn luôn dùng `let` và `const`.
—
Lời kết Module 2
Hiểu rõ về cách dùng `let`, `const` và các kiểu dữ liệu là nền tảng cốt lõi để viết code sạch và ít lỗi.
Trong Module 3, chúng ta sẽ học cách thực hiện các phép tính và xử lý chuỗi văn bản với Toán tử (Operators) và các phương thức Strings/Numbers.
Hẹn gặp lại các bạn!
Leave a comment