Type Conversion
Đổi giá trị từ kiểu này sang kiểu khác. Có thể implicit (ngầm) hoặc explicit (tường minh).
Type casting (ép kiểu) là quá trình chuyển đổi giá trị từ kiểu dữ liệu này sang kiểu khác.
Type Conversion
Đổi giá trị từ kiểu này sang kiểu khác. Có thể implicit (ngầm) hoặc explicit (tường minh).
Type Coercion
Type conversion nhưng ngầm định (tự động), xảy ra khi ngữ cảnh/toán tử yêu cầu.
| Khái niệm | Định nghĩa | Ai kích hoạt? | Ví dụ JS |
|---|---|---|---|
| Type coercion | Chuyển kiểu ngầm | JS/ngữ cảnh tự làm | "5"*2 → 10, 0 == false → true |
| Implicit conversion | Từ đồng nghĩa của coercion | JS/ngữ cảnh tự làm | if("hi"){}, +"42" // 42 |
| Explicit casting | Bạn chỉ định kiểu đích | Lập trình viên | Number("3.14"), parseInt("08",10) |
Dùng ===
Dùng === thay cho == để tránh coercion ngoài ý muốn
Ép tường minh
Ưu tiên ép kiểu tường minh ở rìa hệ thống (input UI/API/file)
Number() vs parseInt()
Cần số thực → Number(); cần số nguyên → parseInt(str, 10)
Không trộn BigInt
Tránh trộn BigInt với Number trong 1 biểu thức: 1n + 1 // TypeError