DDevArchive
Đăng nhập

Biến, kiểu dữ liệu, vòng lặp và điều kiện

Máy tính không hiểu ngôn ngữ người, nhưng nó rất giỏi làm đi làm lại ba việc: lưu giá trị, so sánh, và lặp. Nắm chắc ba việc này là nắm được 80% mọi ngôn ngữ lập trình.

Biến: chiếc hộp có tên

Biến là một chiếc hộp bạn đặt tên rồi cất giá trị vào. Trong JavaScript, khai báo bằng let (có thể đổi) hoặc const (không thể gán lại). Việc chọn sai giữa hai cái này là lỗi phổ biến nhất của người mới.

// File: variables.js
const appName = 'DevArchive';   // const: không gán lại được
let score = 0;                  // let: giá trị sẽ đổi theo thời gian

score = score + 10;             // chơi được 1 lượt
// appName = 'X';  -> lỗi! const không cho gán lại
💡 Quy tắc vàng

Mặc định dùng const. Chỉ chuyển sang let khi bạn chắc chắn biến cần được gán lại. Điều này giúp code dễ đoán hơn.

Kiểu dữ liệu cốt lõi

KiểuVí dụKhi nào dùng
number42, 3.14Số lượng, giá tiền, điểm số
string“hello”, tên ${x}Chữ, câu, đoạn văn
booleantrue / falseTrạng thái đúng/sai
array[1, 2, 3]Danh sách nhiều phần tử
object{ name: “Minh” }Một đối tượng có nhiều thuộc tính
null/undefinednull“Không có giá trị” — khác nhau về mức độ

Điều kiện: máy tính biết ra quyết định

if/else cho phép code rẽ nhánh theo điều kiện. Lưu ý: === mới so sánh cả giá trị lẫn kiểu, còn == tự ép kiểu gây lỗi khó lường.

// File: condition.js
const age = 18;

if (age >= 18) {
  console.log('Đủ tuổi đăng ký tài khoản');
} else {
  console.log('Chưa đủ tuổi');
}

// 1 == '1'  -> true  (ép kiểu, tránh dùng)
// 1 === '1' -> false (so sánh chặt, luôn dùng cái này)

Vòng lặp: làm đi làm lại có kiểm soát

Máy tính mạnh nhất ở chỗ lặp. Vòng for lặp theo số lần biết trước; while lặp tới khi điều kiện sai. Viết vòng lặp xong luôn tự hỏi: nó có kết thúc không?

// File: loop.js
const scores = [7, 9, 5, 10];
let total = 0;

for (const s of scores) {   // đọc từng phần tử
  total += s;
}

let n = 5;
while (n > 0) {             // lặp tới khi n <= 0
  console.log(n);
  n--;
}

❓ Đoạn code sau in ra gì? <code>let x = 3; for (let i = 0; i < 3; i++) { x = x + i; } console.log(x);</code>

  • Phân biệt được const và let
  • Thuộc lòng 6 kiểu dữ liệu cơ bản
  • Luôn dùng === thay vì ==
  • Kiểm tra vòng lặp có điều kiện kết thúc rõ ràng