JavaScript Course

Ngôn ngữ tương tác cho Web

Bài học: Giới thiệu về Biến

JavaScript Course Content

JavaScript Variables

🔧 Giới Thiệu về Biến trong JavaScript

Biến là nền tảng cơ bản nhất trong lập trình JavaScript. Chúng cho phép lưu trữ, quản lý và thao tác dữ liệu trong chương trình của bạn.

Biến là gì?

Định nghĩa

Biến (Variable) là một "hộp chứa" có tên để lưu trữ dữ liệu trong chương trình.

  • Có tên: Để phân biệt với các biến khác
  • Có giá trị: Dữ liệu được lưu trữ bên trong
  • Có thể thay đổi: Giá trị có thể cập nhật (với let)
  • Có kiểu dữ liệu: Số, chuỗi, boolean, object...
Ví dụ thực tế

💡 Giống như một chiếc hộp có nhãn "Tuổi của tôi" chứa số 25. Khi sinh nhật, bạn có thể thay số thành 26 mà không đổi nhãn.

let age = 25;        // Hộp "age" chứa 25
let name = "An";     // Hộp "name" chứa "An"
let isStudent = true; // Hộp "isStudent" chứa true

console.log("Tôi tên", name, "năm nay", age, "tuổi");

Tại sao cần sử dụng Biến?

💾
Lưu trữ dữ liệu

Giữ thông tin để sử dụng sau này như tên user, điểm số, trạng thái

🔄
Tái sử dụng

Sử dụng cùng giá trị ở nhiều nơi mà không cần viết lại

🧮
Tính toán

Thực hiện phép toán và lưu kết quả để xử lý tiếp

🎛️
Điều khiển

Thay đổi hành vi chương trình dựa trên giá trị biến

So sánh: Không có biến vs Có biến

❌ Không có biến (khó bảo trì)

console.log("Xin chào Nguyễn Văn A");
console.log("Tuổi của Nguyễn Văn A: 25");
console.log("Email: [email protected]");
// Muốn đổi tên phải sửa ở nhiều nơi!

✅ Có biến (dễ bảo trì)

let userName = "Nguyễn Văn A";
let userAge = 25;
let userEmail = "[email protected]";

console.log("Xin chào " + userName);
console.log("Tuổi của " + userName + ": " + userAge);
console.log("Email: " + userEmail);

Cách khai báo Biến

Các từ khóa khai báo: let, const, var

🔹 let

Cho biến có thể thay đổi

let userName = "An";

🔸 const

Cho hằng số (không đổi)

const PI = 3.14159;

🔺 var

Cách cũ (ít khuyến khích)

var oldStyle = "cũ";
Ví dụ thực hành
// Khai báo biến cơ bản
let userName = "Nguyễn Văn A";
let userAge = 25;
let isActive = true;

console.log("Tên:", userName);
console.log("Tuổi:", userAge);
console.log("Trạng thái:", isActive);

Khái niệm quan trọng

🎯 Scope (Phạm vi)
Global: Truy cập mọi nơi
Function: Trong hàm (var)
Block: Trong {} (let/const)
⚡ Hoisting

JavaScript "kéo" khai báo biến lên đầu scope

var: Hoisted + undefined
let/const: Hoisted + TDZ
🚫 Temporal Dead Zone

Khoảng thời gian let/const được hoisted nhưng chưa thể truy cập, từ đầu scope đến khi declared.

📝 Naming Convention
✅ camelCase: userName
✅ Có ý nghĩa: totalPrice
❌ Viết tắt: tp, usr
❌ Từ khóa: class, function

Câu hỏi phỏng vấn về Variables

10 câu hỏi
Level:
Category:
JUNIORBASIC
Biến là gì và tại sao cần sử dụng biến?
JUNIORSYNTAX
Sự khác biệt giữa var, let và const?
MIDSYNTAX
Hoisting là gì và ảnh hưởng như thế nào đến biến?
MIDSYNTAX
Temporal Dead Zone (TDZ) là gì?
MIDBASIC
Scope trong JavaScript hoạt động như thế nào?
JUNIORBEST PRACTICES
Best practices khi đặt tên biến?
MIDBEST PRACTICES
Global variables có những vấn đề gì?
MIDDEBUGGING
Variable shadowing là gì?
SENIORPERFORMANCE
Memory management với variables như thế nào?
MIDSYNTAX
Destructuring assignment và variables?

📝 Tóm tắt bài học

  • • Biến là container có tên để lưu trữ dữ liệu
  • • Sử dụng let cho biến thay đổi, const cho hằng số
  • • Hiểu về scope, hoisting và temporal dead zone
  • • Đặt tên biến có ý nghĩa và theo convention
  • • Tránh global variables và variable shadowing
  • • Biến là nền tảng để học các concept JavaScript khác

Mục lục

Không có mục lục