Khóa học IT JavaScript Cơ bản 039_Chuyển đổi kiểu
Chuyển đổi kiểu là quá trình chuyển đổi một kiểu dữ liệu sang kiểu dữ liệu khác. Chuyển đổi kiểu có thể là ngầm định (được thực hiện tự động bởi engine JavaScript) hoặc tường minh (được chuyển đổi thủ công thông qua mã).
Chuyển đổi kiểu ngầm định (Ép kiểu)
Trong một số thao tác, JavaScript tự động thực hiện chuyển đổi kiểu để thực hiện phép tính hoặc so sánh.
Ví dụ:
let num = 5 + "5";console.log(num); // Xuất "55", khi cộng số và chuỗi, số được chuyển đổi thành chuỗiChuyển đổi kiểu tường minh
Chuyển đổi chuỗi
Hàm String(): Chuyển đổi các kiểu khác thành chuỗi.
Ví dụ:
let num = 123;let str1 = String(num); // Hàm String(), có thể xử lý `null` hoặc `undefined`let str2 = num.toString(); // Phương thức toString(), không thể xử lý `null` hoặc `undefined`let str3 = num + ""; // Bằng cách cộng chuỗi rỗng, nhận được chuyển đổi kiểu ngầm định thành chuỗiconsole.log(str1); // Xuất "123"console.log(str2); // Xuất "123"console.log(str3); // Xuất "123"Chuyển đổi số
Hàm Number(): Chuyển đổi các kiểu khác thành số.
Ví dụ:
let str1 = "123";let str2 = "";let str3 = "aaa";let num1 = Number(str1);let num2 = Number(str2);let num3 = Number(str3);let num4 = +str1;console.log(num1); // Xuất 123console.log(num2); // Xuất 0console.log(num3); // Xuất NaNconsole.log(num3); // Xuất 123, nếu sử dụng dấu -, xuất -123Lưu ý: Nếu chuỗi không thể được phân tích thành số hợp lệ, kết quả sẽ là NaN (Not a Number).
Hàm parseInt() và parseFloat(): Chuyển đổi chuỗi thành số nguyên hoặc số thực.
Ví dụ:
let str = "42";let num = parseInt(str);console.log(num); // Xuất 42
let str = "3.14";let num = parseFloat(str);console.log(num); // Xuất 3.14Chuyển đổi boolean
Hàm Boolean(): Chuyển đổi các kiểu khác thành giá trị boolean.
Ví dụ:
let value = "Hello";let bool1 = Boolean(value);let bool2 = !value;console.log(bool1); // Xuất true, chuỗi không rỗng chuyển đổi thành trueconsole.log(bool2); // Xuất true, sử dụng NOT logic để chuyển đổi ngầm định giá trị không phải boolean (! giá trị là false, sau đó sử dụng !! để lấy giá trị dương)Lưu ý: 0, NaN, null, undefined, chuỗi rỗng, v.v. (rỗng, không tồn tại, sai) sẽ chuyển đổi thành false, các giá trị và đối tượng khác sẽ chuyển đổi thành true.