Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
JavaScript là ngôn ngữ chạy được ngay trong trình duyệt và cũng là ngôn ngữ đầu tiên của rất nhiều người học lập trình web. Mọi chương trình đều bắt đầu bằng việc lưu trữ dữ liệu, và đó là vai trò của biến. Bài này giúp bạn nắm chắc cách khai báo biến và các kiểu dữ liệu cốt lõi.
Bạn có thể coi biến như chiếc hộp có nhãn dán để chứa giá trị. Hiện nay có hai cách khai báo nên dùng:
let tuoi = 20; // có thể gán lại
tuoi = 21;
const ten = 'Lan'; // không gán lại được
// ten = 'Mai'; // gây lỗi TypeErrorconst: dùng mặc định, cho giá trị không cần gán lại.let: dùng khi bạn biết biến sẽ được gán giá trị mới, như bộ đếm.var: cách cũ, có phạm vi theo hàm và hành vi "hoisting" dễ gây nhầm lẫn. Code mới hầu như không cần dùng.Một điểm hay bị hiểu nhầm: const chỉ ngăn việc gán lại biến, chứ không làm đối tượng hay mảng bất biến. Bạn vẫn thêm được phần tử vào một mảng khai báo bằng const.
42 hay 3.14.true hoặc false.Ngoài ra còn kiểu object (bao gồm mảng, hàm, đối tượng thường) là kiểu tham chiếu. Dùng toán tử typeof để kiểm tra kiểu:
typeof 42; // 'number'
typeof 'xin chào'; // 'string'
typeof true; // 'boolean'
typeof undefined; // 'undefined'
typeof null; // 'object' (một đặc điểm lịch sử của JavaScript)
typeof [1, 2]; // 'object'Kết quả typeof null trả về 'object' là một sự kỳ quặc có từ những phiên bản đầu của ngôn ngữ, bạn chỉ cần biết để khỏi bất ngờ.
Template string dùng dấu huyền cho phép chèn biến vào chuỗi gọn gàng:
const ten = 'Lan';
const tuoi = 20;
console.log('Xin chào ' + ten); // nối chuỗi kiểu cũ
console.log(`Xin chào ${ten}, ${tuoi} tuổi`); // template stringCách viết thân thiện nhất là template string với ${}, bạn đặt biểu thức trong cặp ngoặc nhọn có dấu đô la phía trước, bên trong cặp dấu huyền, và nó sẽ được thay bằng giá trị. Một số phương thức hữu ích của chuỗi: length, toUpperCase(), trim(), includes(), split(), slice().
JavaScript có kiểu động, tức biến không bị gắn cố định với một kiểu và đôi khi tự chuyển đổi giá trị. Điều này gây ra vài tình huống thú vị:
'5' + 3; // '53' (nối chuỗi)
'5' - 3; // 2 (chuyển sang số)
5 == '5'; // true (so sánh lỏng)
5 === '5'; // false (so sánh nghiêm ngặt)Quy tắc vàng là luôn dùng === và !== để so sánh, tránh các chuyển đổi ngầm. Khi cần chuyển đổi, hãy làm tường minh bằng Number('5'), String(5) hoặc parseInt('42', 10).
Trong điều kiện if, mọi giá trị đều được xem là đúng hoặc sai. Các giá trị falsy gồm: false, 0, chuỗi rỗng, null, undefined và NaN. Mọi thứ còn lại đều truthy, kể cả mảng rỗng và đối tượng rỗng. Nhớ điều này giúp bạn tránh lỗi khi kiểm tra "có dữ liệu hay không".
Bạn không cần cài gì cả. Mở trình duyệt, nhấn F12, chọn tab Console và gõ trực tiếp các ví dụ ở trên. Việc tự gõ và quan sát kết quả hiệu quả hơn nhiều so với chỉ đọc.
Hãy thử tự viết đoạn mã dưới đây trong tab Console và đoán trước kết quả trước khi chạy:
const gia = 150000;
const soLuong = 3;
const tongTien = gia * soLuong;
const loiNhan = 'Tổng tiền: ' + tongTien.toLocaleString('vi-VN') + ' đồng';
console.log(loiNhan);
console.log(typeof tongTien, typeof loiNhan);Sau đó thay đổi: thử gán lại gia (lỗi vì là const), đổi sang let, hoặc thử cộng một chuỗi vào số để xem điều gì xảy ra. Việc chủ động phá vỡ ví dụ để hiểu lỗi là cách học rất nhanh. Cũng nên tập đặt tên biến theo kiểu camelCase, có ý nghĩa, để chính bạn đọc lại sau một tuần vẫn hiểu.
Hãy bắt đầu với const, dùng let khi cần gán lại, nhớ các kiểu nguyên thủy, và so sánh bằng ===. Những thói quen này giúp bạn tránh được một loạt lỗi kinh điển của người mới.
Nếu muốn học JavaScript từ gốc với bài tập và dự án có hướng dẫn, bạn có thể tìm khóa phù hợp trong danh sách khóa học của codebem.com.
Nguyễn Đình Cường
0 comment