Quay lại
Featured image of post Phân biệt Number và parseInt trong javascript

Phân biệt Number và parseInt trong javascript

Sự khác nhau giữa Number và parseInt trong javascript là gì? cùng tìm hiểu để biết khi nào nên dùng Number và parseInt nhé

Công dụng của Number và parseInt là gì?

  • Nói về công dụng thì NumberparseInt đều dùng để chuyển đổi 1 kiểu dữ liệu khác sang 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ành số thực.
  • parseInt convert số thực thành số nguyên.

Chuyển đổi Boolean

Ví dụ:

Number(true); // => 1
Number(false); // => 0

parseInt(true); // => NaN
parseInt(false); // => NaN
  • Number convert boolean thành số 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ỗi 123abc hay abc123 thành số được, nó luôn trả về giá trị NaN.
  • parseInt không thể convert chuỗi abc123, nhưng lại có thể convert chuỗi 123abc, 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 NumberparseInt 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é.

Bình luận sử dụng Facebook hoặc Google bên dưới nhé :)