JavaScript 5 — Chuyển đổi kiểu vs Ép buộc kiểu
Apr 01 2023
Ép buộc vs Chuyển đổi
Ép buộc loại và chuyển đổi loại là hai khái niệm liên quan nhưng khác biệt trong JavaScript. Type Ép buộc: chuyển đổi ngầm một giá trị từ kiểu này sang kiểu khác.
Ép buộc loại và chuyển đổi loại là hai khái niệm liên quan nhưng khác biệt trong JavaScript.
Loại ép buộc : chuyển đổi ngầm định một giá trị từ loại này sang loại khác.
Chuyển đổi loại : chuyển đổi rõ ràng một giá trị từ loại này sang loại khác.
Bạn có thể nhận thấy rằng nếu cộng một chuỗi và một số lại với nhau, có thể bạn sẽ không nhận được kết quả mong muốn. Ví dụ:
const string = "19"
const number = 5
console.log(string + number) // Output: 195, NOT 24
Ví dụ về kiểu ép buộc:
- Phép cộng của một số và một chuỗi: Khi bạn thêm một số và một chuỗi trong JavaScript, số đó sẽ được ép thành một chuỗi và nối với chuỗi kia. Ví dụ,
"5" + 2sẽ dẫn đến chuỗi"52". - So sánh các loại khác nhau: Khi bạn so sánh các giá trị của các loại khác nhau bằng cách sử dụng
==toán tử, JavaScript sẽ cố gắng ép một hoặc cả hai giá trị thành một loại chung trước khi thực hiện so sánh. Ví dụ,0 == falsesẽ trở lạitrue. - Phủ định một giá trị không phải boolean: Khi bạn sử dụng
!toán tử để phủ định một giá trị không phải boolean, nó sẽ bị ép thành một giá trị boolean. Ví dụ:!""sẽ trả vềtruevì một chuỗi rỗng là falsey. - Chuyển đổi ngầm định thành một số: Khi bạn sử dụng một giá trị không phải là số trong một phép toán, giá trị đó sẽ bị ép buộc thành một số. Ví dụ,
"5" * 2sẽ dẫn đến số10. - Chuyển đổi ngầm định thành giá trị boolean: Khi bạn sử dụng một giá trị không phải boolean trong ngữ cảnh boolean, nó sẽ bị ép thành một giá trị boolean. Ví dụ:
if ("hello") { ... }sẽ thực thi mã trong câu lệnh if vì chuỗi"hello"là true.
- Chuyển đổi rõ ràng thành chuỗi: Bạn có thể sử dụng
String()hàm để chuyển đổi giá trị thành chuỗi. Ví dụ,String(5)sẽ dẫn đến chuỗi"5". - Chuyển đổi rõ ràng thành một số: Bạn có thể sử dụng
Number()hàm để chuyển đổi một giá trị thành một số. Ví dụ,Number("5")sẽ dẫn đến số5. - Chuyển đổi rõ ràng thành boolean: Bạn có thể sử dụng
Boolean()hàm để chuyển đổi một giá trị thành boolean. Ví dụ:Boolean(0)sẽ dẫn đếnfalse. - Chuyển đổi rõ ràng thành một mảng: Bạn có thể sử dụng
Array.from()phương thức này để chuyển đổi một đối tượng có thể lặp lại (chẳng hạn như một chuỗi hoặc một đối tượng giống như mảng) thành một mảng. Ví dụ,Array.from("hello")sẽ dẫn đến mảng["h", "e", "l", "l", "o"]. - Chuyển đổi rõ ràng thành biểu thức chính quy: Bạn có thể sử dụng
RegExp()hàm tạo để tạo một đối tượng biểu thức chính quy từ một chuỗi. Ví dụ:new RegExp("hello", "i")sẽ tạo một biểu thức chính quy khớp với chuỗi"hello"không phân biệt chữ hoa chữ thường.
Các ví dụ thực tế trong đó ép buộc loại và chuyển đổi loại có thể hữu ích bao gồm:
- Xác thực đầu vào của người dùng : Khi chấp nhận đầu vào từ người dùng, bạn có thể cần chuyển đổi hoặc ép buộc đầu vào thành một loại khác để đảm bảo rằng đầu vào đáp ứng các yêu cầu nhất định. Ví dụ: bạn có thể cần chuyển đổi đầu vào của người dùng từ một chuỗi thành một số trước khi thực hiện một phép toán trên chuỗi đó.
- Phân tích cú pháp dữ liệu từ các nguồn bên ngoài : Khi sử dụng dữ liệu từ một nguồn bên ngoài (chẳng hạn như API), bạn có thể cần chuyển đổi hoặc ép buộc dữ liệu thành định dạng mà ứng dụng của bạn có thể hoạt động. Ví dụ: bạn có thể cần phân tích một chuỗi ngày tháng thành một
Dateđối tượng trước khi sử dụng nó trong ứng dụng của mình. - Làm việc với các loại dữ liệu khác nhau : Khi làm việc với các loại dữ liệu khác nhau, bạn có thể cần phải chuyển đổi hoặc ép buộc dữ liệu để đảm bảo rằng nó có thể được sử dụng trong ngữ cảnh khi cần. Ví dụ: bạn có thể cần chuyển đổi một biểu diễn chuỗi có màu

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































