Đây là những khai niệm cơ bản nhất bắt buộc phải hiểu trước khi bắt đầu học Javascript cũng như bất cứ ngôn ngữ lập trình nào.
Cú pháp
Cũng giống nhiều ngôn ngữ khác, cú pháp JS đơn giản, dễ hiểu:
Kết thúc mỗi câu lệnh bằng dấu ;
const x = 123;
const y = 234;
const z = x + y;
Tuy nhiên, việc đặt dấu ;
ở cuối lệnh là không bắt buộc trong trường hợp 1 dòng 1 lệnh, ngược lại, nếu 1 dòng có 2 câu lệnh trở lên bản phải có dấu ;
const x = 123; => Đúng
const y = 234 => Đúng
const z = x + y => Đúng
const a = 123; const b = 345; => Đúng
const a = 123; const b = 234 => Đúng
const a = 123 const b = 234 => Sai => chương trình báo lỗi
Kết thúc khối lệnh bằng {...}
if(x === 1) {
Lệnh 1;
Lệnh 2;
Lệnh 3;
}
Các khối lệnh có thể lồng nhau bao nhiêu cấp tùy ý:
if(x === 1) {
Lệnh 1;
Lệnh 2;
Lệnh 3;
if(y === 2) {
Lệnh 4
Lệnh 5
Lệnh 6
if(z === 3) {
Lệnh 7
Lệnh 8
}
}
}
JavaScript không giới hạn bạn có thể lồng bao nhiêu khối lệnh, nhưng việc lồng quá nhiều chắc chắn sẽ làm tăng độ khó hiểu code của bạn lên rất nhiều, gây khó khăn cho việc duy trì, bảo hành, bảo dưỡng(Maintain). Trong trường hợp này, bạn cần đưa ra logic hợp lý, và sử dụng các chức năng khác như Function sẽ có trong các bài tới.
Ghi chú/Comment
Việc comment trong lập trình rất quan trọng, nó là những ghi chú dành cho người code, khi thực thi, JS sẽ bỏ qua không thực thi những dòng này. Dưới đây là một số ví dụ về comment.
Comment trên 1 dòng
// Gán biến a = 1 => đây là ghi chú
const a = 1;
const a = 1; // Đây là ghi chú
Ghi chú nhiều dòng
const a = 1;
/* ghi chú 1
ghi chú 2
ghi chú 3
ghi chú 4
ghi chú 5
*/
const a = 1; /* đây là comment */ const b = 2;
Kiểu dữ liệu
Tất cả các ngôn ngữ lập trình đều có cấu trúc dữ liệu riêng, chúng thường khác nhau giữa các ngôn ngữ này với ngôn ngữ khác. Dưới đây là những kiểu dữ liệu phổ biến nhất trong Javascript.
Kiểu số (Number)
JavaScript không phân biệt giữa số nguyên hay số thập phân mà nó được biểu thị bằng kiểu số Number. Dưới đây là một số kiểu số hợp lệ trong JS
123
1.25
1.25e100 // 1.25 x 10^100 (1 phẩy 25 nhân 10 mũ 100)
-123 // số âm
NaN // Not a number => không phải kiểu số
Infinity // vượt quá giới hạn tính toán của Javascript
Kiểu chuỗi (string)
Một chuỗi là một tập hợp các ký tự bao gồm chữ, số, ký tự đặc biệt ..v..v. Javascript khai báo một chuỗi bằng cách gõ dấu nháy kép "abcde123"
, nháy đơn 'abcd123'
hoặc ký tự backtick `abcde34@11`
.
Kiểu boolean
Đây là kiểu dữ liệu thông dụng trong lập trình, nó chỉ có 2 giá trị Đúng(True) hoặc Sai(False)
True
False
1 === 1 => True
1 > 2 => False
2 > 3 => False
4 > 0 => True
Kiểu dữ liệu này đặc biệt hay gặp khi bạn sử dụng điều kiện IF ELSE
IF(TRUE) {
// Chạy vào đây
}
IF(1 == 2) {
// Không chạy vào đây vì 1 không bằng 2 hay 1 == 2 => FALSE
}
NULL và UNDIFINED
Null và Undefined là 2 giá trị nguyên thủy của JS, cũng là kiểu dữ liệu trong JS, trong đó:
- NULL là một giá trị trống, khác về bản chất so với số 0 và chuỗi rỗng
""
, 0 là số còn chuỗi rỗng là một chuỗi, còn NULL bạn có thể hiểu đơn giản là không có gì. - UNDEFINED là không xác định, một biến chưa được gán giá trị là kiểu không xác định. Hàm trả về không xác định nếu giá trị không được trả về.
Kiểu mảng
Về cơ bản, nó là một biến đặc biệt, có thể chứa nhiều giá trị bên trong. Nó là một tập hợp các giá trị được sắp xếp theo thứ tự nhất định và mỗi giá trị của tập hợp được gọi là một phần tử của mảng. Mảng JavaScript có thể chứa các kiểu dữ liệu tùy ý. Ví dụ:
const mang = ["Chuỗi 1", "Chuỗi 2", true, false, 123, 567]
Khi muốn truy cập tới một giá trị, ta cần biết số thứ tự của giá trị(số thứ tự tính từ 0 trở lên), giả sử muốn truy cập tới Chuỗi 2 ta thực hiện cú pháp mang[1]
Kiểu Object (đối tượng)
Gần giống với kiểu mảng, Object có là một tập hợp các key-value (khóa – giá trị)
const hocSinh = {
name: 'Học Văn Sinh',
age: 16,
city: 'Hà Nội',
schoolName: 'Học Viện ABC',
major: ['CNTT', 'KẾ TOÁN', 'CHÉM GIÓ'],
};
Trong đối tượng hocSinh bên trên ta có thể thấy nó gồm nhiều các key là name, age, city, schoolName, major. Người ta gọi những key này là Property(các thuộc tính). Còn sau dấu 2 chấm của các property là giá trị của chúng.
Biến (variable)
Biến là các vị trí lưu trữ, nó được định danh bằng tên do người lập trình đặt. Một biến có thể được gán kiểu dữ liệu tùy ý như số, chữ, mảng, object ..v..v
Để nhật biết một biến ta dùng các từ khóa khai báo biến như var, let, const, int ..v..v mỗi từ khóa có tính chất riêng, chúng ta sẽ biết ở các bài sau.
var tienTieuHangThang = 100000000000000;
const tenBan = "NGUYEN ANH TIEN";
Như ví dụ trên tienTieuHangThang và tenBan là tên biến bạn có thể đặt tùy ý, không được trùng với các từ khóa đặc biệt của JS như var, const nếu không sẽ gặp lỗi
const var = 123; => Sai