Hướng dẫn isfinite trong javascript

Phương thức isfinite có chức năng kiểm tra một giá trị có phải là số hữu hạn hay không.

Hướng dẫn isfinite trong javascript

Hướng dẫn isfinite trong javascript

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Số hữu hạn là các số thực có giá trị hữu hạn.

Phương thức sẽ trả về True nếu giá trị truyền và là thuộc kiểu Number và tương đương với một số hữu hạn. Ngược lại phương thức sẽ trả về False.

Phương thức Number.isFinite() khác với hàm toàn cục isFinite, hàm isFinite  sẽ chuyển giá trị cần kiểm tra sang kiểu Number rồi sau đó kiểm tra nó còn phương thức Number.isFinite() sẽ không chuyển giá trị cần kiểm tra mà tiến hành kiểm tra luôn, phương thức Number.isFinite() sẽ trả về False với bất kì giá trị nào không thuộc kiểu Number. 

Bài viết này được đăng tại [free tuts .net]

Cú phápNumber.isFinite(value)

Trong đó: 

  • value là giá trị cần kiểm tra.

Cách sử dụng

Ví dụ: sử dụng phương thức Number.isFinite() để kiểm tra một số giá trị.



    
        
    
    
        

Học lập trình miễn phí tại freetuts.net

Click vào button để in mảng.

Kết quả

123 : Là một số hữu hạn
10/3 : Là một số hữu hạn
-4 : Là một số hữu hạn
4,132 : Là một số hữu hạn
'123' : Không phải là một số hữu hạn
'freetuts' : Không phải là một số hữu hạn
'1/6/2017' : Không phải là một số hữu hạn
true : Không phải là một số hữu hạn

Tham khảo: w3schools.com

Hướng dẫn cách kiểm tra số hữu tỉ trong JavaScript. Bạn sẽ học được cách sử dụng phương thức Number.isFinite trong JavaScript để kiểm tra một số có phải là số hữu tỉ hay không sau bài học này.

Số hữu tỉ trong JavaScript

Theo wikipedia thì khái niệm số hữu tỉ như sau:

Trong toán học, số hữu tỉ là các số x có thể biểu diễn dưới dạng phân số a/b, trong đó a và b là các số nguyên với b là một số khác 0.

Ví dụ các số như 3/4, 1/2 là các số hữu tỉ.

Ngược lại, các số không thể biểu diễn dưới dạng phân số thì sẽ được coi là số vô tỉ. Ví dụ như số pi (π), căn 2 (√2) hoặc 0,1010010001000010000010000001… chẳng hạn đều là các số không thể biểu diễn dưới dạng phân số.

Kiểm tra số có phải là số hữu tỉ trong JavaScript | Number.isFinite

Number.isFinite là một phương thức trong Number Object, có tác dụng kiểm tra một đối tượng có phải thuộc kiểu số và giá trị của nó có phải là số hữu tỉ hay không. Ví dụ cụ thể, kết quả của phép chia một số cho số 0 trong JavaScript sẽ là một giá trị số hữu tỉ và thuộc kiểu số.

Để kiểm tra một đối tượng có phải là số hữu tỉ, về tổng quát thì chúng ta cần dùng tới hàm global isFinite(), còn trong Number Object, chúng ta sẽ dùng tới thuộc tính Number.isFinite để kiểm tra đối tượng đó.

Cách sử dụng phương thức Number.isFinite trong JavaScript để kiểm tra đối tượng có phải thuộc kiểu số và giá trị của nó có phải là số hữu tỉ như sau:

Number.isFinite(object);

Trong đó object là đối tượng cần kiểm tra có phải thuộc kiểu số và giá trị của nó có phải là số hữu tỉ hay không.

Phương thức Number.isFinite() sẽ kiểm tra đối tượng chỉ định có phải thuộc kiểu số, và có giá trị số hữu tỉ hay không. Nếu đối tượng đã cho không thuộc kiểu số, ví dụ như giá trị NaN、Infinity, hoặc chuỗi ký tự, lập tức giá trị false sẽ được trả về.

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

Number.isFinite(12);        
Number.isFinite(12.345);
Number.isFinite(-1.225e-3);
Number.isFinite(0);

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

Number.isFinite(0 / 0); 

Number.isFinite(Math.PI);

Number.isFinite(Math.sqrt(2));

Các giá trị sau đây không thuộc kiểu số nên giá trị false được trả về mà không cần tới việc xét số hữu tỉ nữa:

Number.isFinite('12');      
Number.isFinite('12.34');
Number.isFinite('');
Number.isFinite(' ');

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

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);

Number.isFinite(128);


isFinite(Infinity);

Number.isFinite(Infinity);


isFinite('78');

Number.isFinite('78');


isFinite('');

Number.isFinite('');


isFinite(true);

Number.isFinite(true);


isFinite(null);

Number.isFinite(null);


isFinite([10]);

Number.isFinite([10]);

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 kiểm tra số có phải là số hữu tỉ trong JavaScript bằng Number.isFinite 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é.

Viết bởi Kiyoshi. Đã đăng ký bản quyền tác giả tại <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" rel="license noopener" target="_blank" href="https://creativecommons.org/licenses/by-nc-nd/4.0/">Creativecommons</a>&nbsp;và <a title="Bạn được tự do chia sẻ bài viết nhưng phải để lại đường link bài viết từ laptrinhcanban.com. Bạn không được sử dụng tài liệu cho mục đích thương mại. Không được phép chỉnh sửa nội dung được phát hành trên website của chúng tôi" style="color:#fff;background-color:silver" target="_blank" rel="noopener" href="https://www.dmca.com/Protection/Status.aspx?ID=1631afcd-7c4a-467d-8016-402c5073e5cd" class="dmca-badge">DMCA</a><script src="https://images.dmca.com/Badges/DMCABadgeHelper.min.js">

Bài viết liên quan

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>> >>