Công dụng của Number và parseInt là gì?
- Nói về công dụng thì
Number
vàparseInt
đều dùng để chuyển đổi 1 kiểu dữ liệu khácsang kiểu số
. - Nếu convert số nguyên thì cả 2 đều như nhau.
Ví dụ:
Number("123"); // => 123
parseInt("123"); // => 123
Giống nhau
Convert string của số nguyên
-
Cả 2 đều có thể convert string là số nguyên sang số nguyên. Ví dụ:
Number("12345"); // => 123.25 parseInt("12345"); // => 123
Tự trim khoảng trắng
- Cả 2 đều tự trim khoảng trắng trước và sau để convert sang số
Ví dụ:
Number(" 123 "); // => 123 parseInt(" 123 "); // => 123
Khác nhau
Chuyển đổi (Convert) số thực
Ví dụ:
Number("123.25"); // => 123.25
parseInt("123.35"); // => 123
Như bạnd đã thấy, kết quả của 2 dòng trên sẽ khác nhau:
Number
có thể convert string của số thực thànhsố thực
.parseInt
convert số thực thànhsố nguyên
.
Chuyển đổi Boolean
Ví dụ:
Number(true); // => 1
Number(false); // => 0
parseInt(true); // => NaN
parseInt(false); // => NaN
Number
convert boolean thànhsố 0 hoặc 1
.parseInt
không thể convert boolean, nên nó trả về giá trịNaN
.
Chuyển đổi String (gồm số và ký tự)
Ví dụ:
Number("abc123"); // => NaN
parseInt("abc123"); // => NaN
Number("123abc"); // => NaN
parseInt("123abc"); // => 123
Number
không thể convert chuỗi123abc
hayabc123
thành số được, nó luôn trả về giá trịNaN
.parseInt
không thể convert chuỗiabc123
, nhưng lại có thể convert chuỗi123abc
, nghĩa là parseInt sẽ lấy các ký tự là số ở đầu để convert sang số.
Kết
Hy vọng thông qua các ví dụ trên, các bạn có thể hình dung được sự khác nhau của Number
và parseInt
rồi nhé, để biết được khi nào nên sử dụng cái nào cho phù hợp.
Nếu có bất cứ thắc mắc nào, các bạn hãy bình luận bên dưới nhé.