Hàm isFinite trong JavaScript | Laptrinhcanban.com

Hàm isFinite trong JavaScript

Hướng dẫn cách sử dụng hàm isFinite trong JavaScript. Bạn sẽ học được cách sử dụng hàm isFinite để kiểm tra một giá trị có phải là NaN hay không sau bài học này.

Hàm isFinite trong Javascript

Hàm isFinite trong Javascript là một hàm glocal có tác dụng kiểm tra một giá trị có phải là số hữu tỉ hay không. Nếu như giá trị chỉ định không phải là số thì hàm sẽ chuyển đổi kiểu dữ liệu sang số trước khi thực hiện việc kiểm tra.

  • JavaScript cũng chuẩn bị phương thức Number.isFinite trong Number Object có tác dụng kiểm tra một số có phải là số hữu tỉ hay không. Bạn có thể tìm hiểu thêm phương thức này tại bài Number.isFinite trong JavaScript .

Chúng ta sử dụng hàm isFinite trong JavaScript với cú pháp sau đây:

isFinite(object);

Trong đó object là đối tượng cần kiểm tra có phải là số hữu tỉ hay không.

Hàm isFinite() sẽ kiểm tra đối tượng chỉ định, và nếu đối tượng đã cho không thuộc kiểu số thì sẽ chuyển đổi về kiểu số trước khi kiểm tra số hữu tỉ.

Ví dụ cụ thể sử dụng isFinite() trong JavaScript:

isFinite(12);        // true
isFinite(12.345); // true
isFinite(-1.225e-3); // true
isFinite(0); // true

Các giá trị sau đây không phải số hữu tỉ nên giá trị false được trả về:

isFinite(0 / 0); // false   

isFinite(Math.PI); // false

isFinite(Math.sqrt(2)); // false

Các giá trị sau đây không thuộc kiểu số nên chúng sẽ được chuyển về kiểu số rồi mới xét có phải là số hữu tỉ hay không.

isFinite('12');      // true
isFinite('12.34'); // true
isFinite(''); // true
isFinite(' '); // true

isFinite(Infinity); // false
isFinite(undefined); // false
isFinite(NaN); // false
isFinite({}); // false
isFinite('blabla'); // false
isFinite([10, 20]); // false
isFinite(true); // true
isFinite(null); // true

Sự khác biệt giữa isFinite và Number.isFinite trong JavaScript

Hàm global isFinite() và phương thức thành viên Number.isFinite trong JavaScript đều được sử dụng để xác định giá trị của một đối tượng có phải là số hữu tỉ hay không. Tuy nhiên khi xử lý một đối tượng không thuộc kiểu số thì chúng sẽ hoạt động hoàn toàn khác nhau.

  1. Nếu đối tượng chỉ định không thuộc kiểu số, hàm isFinite() sẽ chuyển đối tượng đó về kiểu số, rồi sau đó mới kiểm tra đối tượng thuộc kiểu số đó có giá trị số hữu tỉ không.

  2. Ngược lại với phương thức Number.isFinite() thì nếu đối tượng chỉ định không thuộc kiểu số thì giá trị false sẽ ngay lập tức được trả về.

Hãy cùng xem sự khác biệt giữa isFinite và Number.isFinite qua các ví dụ sau:


isFinite(128);
// true
Number.isFinite(128);
// true

isFinite(Infinity);
// false
Number.isFinite(Infinity);
// false

isFinite('78');
// true
Number.isFinite('78');
// false

isFinite('');
// true
Number.isFinite('');
// false

isFinite(true);
// true
Number.isFinite(true);
// false

isFinite(null);
// true
Number.isFinite(null);
// false

isFinite([10]);
// true
Number.isFinite([10]);
// false

Có thể thấy rõ nếu chỉ định đối tượng là các số hữu tỉ hay vô tỉ thì kết quả của hai phương pháp này là giống nhau.Tuy nhiên cũng có những trường hợp mà có sự khác biệt về kết quả giữa isFinite và Number.isFinite.

Bởi vậy, nếu bạn muốn kiểm tra giá trị số hữu tỉ với đối tượng thuộc kiểu số, hãy dùng phương thức Number.isFinite để cho ra kết quả chính xác.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng hàm isFinite trong javascript rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về JavaScript trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.