// --- Bài học JavaScript thứ hai: Biến và Kiểu dữ liệu ---
// 1. Khai báo biến với 'let' (giá trị có thể thay đổi)
console.log("--- Ví dụ về 'let' ---");
let tenHocVien = "Nguyễn Văn A";
let tuoiHocVien = 20;
let diemTrungBinh = 8.5;
console.log("Tên học viên ban đầu:", tenHocVien);
console.log("Tuổi học viên ban đầu:", tuoiHocVien);
console.log("Điểm trung bình ban đầu:", diemTrungBinh);
// Thay đổi giá trị của biến 'let'
tenHocVien = "Trần Thị B";
tuoiHocVien = 21;
diemTrungBinh = 9.0;
console.log("Tên học viên sau khi thay đổi:", tenHocVien);
console.log("Tuổi học viên sau khi thay đổi:", tuoiHocVien);
console.log("Điểm trung bình sau khi thay đổi:", diemTrungBinh);
console.log("\n"); // In một dòng trống để dễ nhìn
// 2. Khai báo biến với 'const' (giá trị không thể thay đổi)
console.log("--- Ví dụ về 'const' ---");
const TEN_TRUONG = "Đại học ABC";
const SO_PI = 3.14159;
const LA_HANG_SO = true;
console.log("Tên trường:", TEN_TRUONG);
console.log("Số PI:", SO_PI);
console.log("Đây có phải là hằng số không?", LA_HANG_SO);
// Thử gán lại giá trị cho biến 'const' (sẽ gây lỗi nếu bạn bỏ comment dòng này)
// TEN_TRUONG = "Đại học XYZ"; // Lỗi: Assignment to constant variable.
// console.log(TEN_TRUONG);
console.log("\n");
// 3. Các kiểu dữ liệu cơ bản
console.log("--- Ví dụ về các kiểu dữ liệu ---");
// Kiểu Number (số nguyên và số thập phân)
let soNguyen = 100;
let soThapPhan = 99.99;
console.log("Giá trị số nguyên:", soNguyen, "Kiểu:", typeof soNguyen);
console.log("Giá trị số thập phân:", soThapPhan, "Kiểu:", typeof soThapPhan);
// Kiểu String (chuỗi văn bản)
let tenThanhPho = "Hà Nội";
let cauChao = 'Xin chào JavaScript!';
let cauTruyenCam = `Học lập trình thật thú vị!`; // Template Literal
console.log("Tên thành phố:", tenThanhPho, "Kiểu:", typeof tenThanhPho);
console.log("Câu chào:", cauChao, "Kiểu:", typeof cauChao);
console.log("Câu truyền cảm:", cauTruyenCam, "Kiểu:", typeof cauTruyenCam);
// Kiểu Boolean (logic: true/false)
let laMuonHoc = true;
let daHoanThanhBaiTap = false;
console.log("Có muốn học không?", laMuonHoc, "Kiểu:", typeof laMuonHoc);
console.log("Đã hoàn thành bài tập chưa?", daHoanThanhBaiTap, "Kiểu:", typeof daHoanThanhBaiTap);
// Kiểu Undefined (biến chưa được gán giá trị)
let bienChuaDuocGanGiaTri;
console.log("Biến chưa được gán giá trị:", bienChuaDuocGanGiaTri, "Kiểu:", typeof bienChuaDuocGanGiaTri);
// Kiểu Null (giá trị rỗng có chủ đích)
let bienRong = null;
console.log("Biến rỗng (null):", bienRong, "Kiểu:", typeof bienRong); // Lưu ý: typeof null là 'object'
console.log("\n");
// 4. Một số ví dụ kết hợp
console.log("--- Ví dụ kết hợp ---");
let tenSanPham = "Laptop XYZ";
let giaSanPham = 12500000; // 12.5 triệu
let conHang = true;
console.log(`Sản phẩm: ${tenSanPham}`);
console.log(`Giá: ${giaSanPham} VNĐ`);
console.log(`Tình trạng: ${conHang ? "Còn hàng" : "Hết hàng"}`);
console.log(`Kiểu dữ liệu của 'tenSanPham': ${typeof tenSanPham}`);
console.log(`Kiểu dữ liệu của 'giaSanPham': ${typeof giaSanPham}`);
console.log(`Kiểu dữ liệu của 'conHang': ${typeof conHang}`);