JavaScript cơ bản – Bài 04: Kiểu dữ liệu, typeof và chuyển đổi giá trị
- 17-10-2026
- Toanngo92
- 0 Comments
Loạt bài JavaScript cơ bản · Bài 04/18 — Mục lục học tập
Một chương trình có thể nhận số lượng từ ô nhập dưới dạng chuỗi nhưng lại cần tính tiền bằng số. Hiểu kiểu dữ liệu giúp bạn tránh tình huống cộng hai giá trị mà kết quả lại là nối chữ.
Mục lục
Các kiểu thường gặp
number: số như 12, 3.5, đồng thời có các giá trị đặc biệt như NaN.string: văn bản trong dấu nháy đơn, nháy kép hoặc dấu backtick.boolean: true hoặc false, biểu diễn điều kiện.undefined: thường xuất hiện khi biến chưa được gán giá trị.null: giá trị rỗng được chủ động gán theo ý nghĩa của chương trình.object: đối tượng; mảng cũng thuộc nhóm này.
JavaScript còn có bigint và symbol; bạn chưa cần dùng chúng cho những bài thực hành hiện tại.
let selectedLesson;
const score = 8.5;
const name = "An";
const passed = true;
const profile = null;
console.log(typeof score); // number
console.log(typeof name); // string
console.log(typeof passed); // boolean
console.log(typeof selectedLesson); // undefined
console.log(typeof profile); // object (đặc điểm lịch sử)Không dùng typeof value === "object" để kết luận chắc chắn value là đối tượng không rỗng. Hãy kiểm tra thêm value !== null. Với mảng, dùng Array.isArray(value).
Chuyển kiểu một cách chủ động
const textQuantity = "3";
console.log(textQuantity + 2); // "32"
const quantity = Number(textQuantity);
console.log(quantity + 2); // 5
console.log(String(42)); // "42"
console.log(Boolean(0)); // false
console.log(Boolean("false")); // trueDấu cộng có thể nối chuỗi. Vì vậy, hãy chuyển dữ liệu nhập thành số trước khi tính. Chuỗi "false" vẫn là chuỗi không rỗng nên có giá trị truthy; nó không tự biến thành boolean false theo nội dung chữ.
NaN và dữ liệu không hợp lệ
const input = "abc";
const value = Number(input);
console.log(Number.isNaN(value)); // true
console.log(Number.isFinite(value)); // false
console.log(Number("")); // 0
console.log(Number(" ")); // 0NaN là giá trị số đặc biệt biểu thị kết quả không phải một số hợp lệ. Không kiểm tra nó bằng value === NaN. Ngoài ra, Number chuyển chuỗi rỗng hoặc chỉ chứa khoảng trắng thành 0; nếu ứng dụng yêu cầu người dùng thực sự nhập dữ liệu, phải kiểm tra chuỗi rỗng trước khi chuyển.
Bài tập và lời giải tham khảo
Cho chuỗi giá "150000" và số lượng "2". Tính tổng, sau đó thử giá "không rõ". In kết quả kiểm tra hợp lệ.
const priceText = "150000";
const quantityText = "2";
const price = Number(priceText);
const quantity = Number(quantityText);
console.log(price * quantity); // 300000
console.log(Number.isFinite(price)); // true
console.log(Number.isFinite(Number("không rõ"))); // falseGhi nhớ: phân biệt giá trị và kiểu của nó. Khi tiếp nhận dữ liệu bên ngoài, hãy chuyển kiểu rõ ràng và kiểm tra hợp lệ trước khi sử dụng.

