Menu
CoddyTech

Ép kiểu

Thuộc phần Kiến thức cơ bản trong hành trình JavaScript của Coddy. Bài học 22 trên 77.

Ép kiểu trong JavaScript là quá trình tự động chuyển đổi giá trị từ kiểu dữ liệu này sang kiểu dữ liệu khác. Việc này có thể xảy ra ngầm trong một số phép toán hoặc diễn ra tường minh khi bạn dùng các hàm như String(), Number() hoặc Boolean().

Ép kiểu ngầm thường xảy ra khi bạn dùng toán tử so sánh bằng lỏng == hoặc thực hiện các phép toán giữa những kiểu dữ liệu khác nhau, chẳng hạn như cộng một số với một chuỗi.

Ví dụ:

let result = 5 + "5";
// Chứa "55" vì số 5 tự động chuyển thành chuỗi (string) "5" rồi được nối lại.
let result = true == 1;
// Biểu thức có giá trị true vì giá trị logic true được ngầm chuyển thành số 1

Bạn có thể chuyển đổi kiểu dữ liệu một cách tường minh bằng các hàm dựng sẵn:

  • String(value) chuyển đổi một giá trị thành chuỗi
  • Number(value) chuyển đổi một giá trị thành số
  • Boolean(value) chuyển đổi một giá trị thành kiểu boolean

Ví dụ:

let num = "123";
let str = Number(num) + 7; // Chứa giá trị 130
console.log(str); 
let bool = true;
let numBool = Number(bool); // Chứa giá trị 1

Hiểu về chuyển đổi kiểu là điều rất quan trọng để viết code JavaScript chính xác và tránh kết quả ngoài dự kiến.

challenge icon

Thử thách

Người mới

Bạn được cung cấp một đoạn code có một số biến thuộc các kiểu dữ liệu khác nhau.

Nhiệm vụ của bạn là chuyển đổi kiểu dữ liệu và in ra kết quả:

  1. Chuyển số num thành chuỗi và lưu vào biến có tên a.
  2. Chuyển giá trị boolean bool thành số và lưu vào biến có tên b.
  3. Chuyển chuỗi str thành số và lưu vào biến có tên c.
  4. Thực hiện chuyển đổi kiểu ngầm định bằng cách nối num với str, rồi lưu kết quả vào biến có tên d.

Dùng các hàm chuyển đổi kiểu tường minh (String(), Number()) cho ba nhiệm vụ đầu tiên và quan sát việc chuyển đổi kiểu ngầm định ở nhiệm vụ cuối cùng.

Tự làm thử

// Các biến (variable) đã cho
let num = 42
let bool = false
let str = "7"

// Viết code bên dưới


// Đừng thay đổi dòng bên dưới
console.log(`a = ${a}`)
console.log(`b = ${b}`)
console.log(`c = ${c}`)
console.log(`d = ${d}`)
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức cơ bản

Tự luyện tập: Trình biên dịch JavaScript online