23 of 264 menu

isFinite funksiyası

isFinite funksiyası parametrin sonlu ədəd olub-olmadığını (yəni sətir, massiv və s. olmamasını və ya müsbət/mənfi sonsuzluq olmamasını) yoxlamaq üçün istifadə olunur.

Bu funksiya necə işləyir: əgər ədəd müsbət və ya mənfi sonsuzluqdursa (yəni Infinity) ya da ədəd deyilsə (yəni NaN), false qaytarır, digər bütün hallarda isə true qaytarır. Yəni sətirlər, massivlər və s. NaN-ə çevriləcək və müvafiq olaraq false qaytaracaq.

Lakin istisnalar var: boş sətir '' true qaytarır, boşluqlardan ibarət sətir '    ' da true qaytarır, null true qaytarır, truefalse qiymətləri üçün də true qaytarılır.

Bu ona görə baş verir ki, bu qiymətlər NaN-ə deyil, ədədlərə çevrilir. Əgər sizə həqiqətən dəqiq ədəd yoxlaması lazımdırsa, boşluqlardan ibarət sətiri, məntiqi və xüsusi qiymətləri ədəd saymayan - aşağıdakı isNumeric funksiyasından istifadə edin:

function isNumeric(num) { return !isNaN(parseFloat(num)) && isFinite(num); };

Gəlin onun necə işlədiyini anlayaq. isFinite funksiyası parametri ədədə çevirir və əgər o Infinity, -Infinity və ya NaN deyilsə, true qaytarır. Beləliklə, sağ tərəf aşkar ədəd olmayanları ələyəcək, amma true, false, null, boş sətir '' və boşluqlardan ibarət sətir kimi qiymətləri buraxacaq, çünki onlar düzgün şəkildə ədədlərə çevrilir.

Bu qiymətləri ələmək üçün parseFloat funksiyasına ehtiyac var, hansı ki, true, false, null, '', '   ' üçün NaN qaytarır. parseFloat funksiyası belə işləyir: o, parametri sətirə çevirir, yəni true, false, null 'true', 'false', 'null' olur, sonra isə ondan ədədi oxuyur, bu zaman boş sətir və boşluqlardan ibarət sətir NaN verir. Sonra parseFloat-ın nəticəsi !isNaN ilə emal olunur, NaN əvəzinə true və ya false almaq üçün. Nəticədə, ədəd-sətirlər və adi ədədlər istisna olmaqla, hər şey ələnir.

Sintaksis

isFinite(qiymet);

Nümunə

İndi isFinite true göstərəcək, çünki parametr ədəddir:

let num = 3; console.log(isFinite(num));

Kodun icrasının nəticəsi:

true

Nümunə

İndi isFinite false göstərəcək, çünki parametr ədəd deyil:

let num = 'abcde'; console.log(isFinite(num));

Kodun icrasının nəticəsi:

false

Nümunə

İndi isFinite false göstərəcək, çünki parametr sonsuzluqdur:

let num = Infinity; console.log(isFinite(num));

Kodun icrasının nəticəsi:

false

Nümunə

İndi isFinite false göstərəcək, çünki 1/0 - əslində Infinity-dir (sonsuzluq):

let num = 1 / 0; console.log(isFinite(num));

Kodun icrasının nəticəsi:

false

Nümunə

İndi isFinite true göstərəcək, çünki ədəd olmayan boş sətir - istisnadır:

let num = ''; console.log(isFinite(num));

Kodun icrasının nəticəsi:

true

Həmçinin bax

  • isNaN funksiyası,
    hansı ki NaN üçün yoxlama edir
  • typeof operatoru,
    hansı ki məlumat növünü müəyyən edir
Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et