23 of 264 menu

Funkcia isFinite

Funkcia isFinite slúži na kontrolu parametra či ide o konečné číslo (t.j. nie reťazec, pole atď. a nie plus alebo mínus nekonečno).

Ako táto funkcia funguje: vráti false, ak je číslo plus alebo mínus nekonečno (t.j. Infinity) alebo nie je číslom (t.j. NaN), v ostatných prípadoch vráti true. To znamená, že reťazce, polia atď. budú pretransformované na NaN a preto vrátia false.

Avšak existujú výnimky: prázdny reťazec '' vráti true, reťazec s medzerami '    ' tiež vráti true, null vráti true, pre hodnoty true a false sa tiež vráti true.

Deje sa tak preto, lebo tieto hodnoty sú pretransformované na čísla, a nie na NaN. Ak potrebujete naozaj presnú kontrolu čísla, ktorá nepovažuje za číslo reťazec tvorený medzerami, logické a špeciálne hodnoty - použite nasledujúcu funkciu isNumeric:

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

Poďme sa pozrieť, ako funguje. Funkcia isFinite pretransformuje parameter na číslo a vráti true, ak to nie je Infinity, -Infinity alebo NaN. Takže pravá časť odmietne zjavné nečísla, ale ponechá také hodnoty ako true, false, null, prázdny reťazec '' a reťazec s medzerami, pretože sa korektne pretransformujú na čísla.

Na to, aby sme tieto hodnoty odmietli, je potrebná funkcia parseFloat, ktorá pre true, false, null, '', '   ' vráti NaN. Takto je funkcia parseFloat postavená: ona pretransformuje parameter na reťazec, t.j. true, false, null sa stanú 'true', 'false', 'null', a potom z nich načíta číslo, pričom prázdny reťazec a reťazec s medzerami dajú NaN. Potom je výsledok parseFloat spracovaný pomocou !isNaN, aby sme dostali true alebo false namiesto NaN. Výsledkom je, že je odmietnuté všetko okrem reťazcov-čísiel a obyčajných čísiel.

Syntax

isFinite(hodnota);

Príklad

Teraz isFinite vypíše true, pretože parameter je číslo:

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

Výsledok vykonania kódu:

true

Príklad

Teraz isFinite vypíše false, pretože parameter nie je číslo:

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

Výsledok vykonania kódu:

false

Príklad

Teraz isFinite vypíše false, pretože parameter je nekonečno:

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

Výsledok vykonania kódu:

false

Príklad

Teraz isFinite vypíše false, pretože 1/0 - to je v podstate Infinity (nekonečno):

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

Výsledok vykonania kódu:

false

Príklad

Teraz isFinite vypíše true, pretože prázdny reťazec, ktorý nie je číslom, - je výnimka:

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

Výsledok vykonania kódu:

true

Pozri tiež

  • funkciu isNaN,
    ktorá vykonáva kontrolu na NaN
  • operátor typeof,
    ktorý určuje typ dát
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť