23 of 264 menu

Функција isFinite

Функција isFinite служи за проверу параметра да ли је коначан број (тј. није ниска, низ и сл. и није плус или минус бесконачност).

Како функционише: вратиће false, ако је број плус или минус бесконачност (тј. Infinity) или није број (тј. NaN), у осталим случајевима враћа true. Тј. ниске, низови и сл. биће претворени у NaN и стога ће вратити false.

Међутим, постоје изузеци: празна ниска '' враћа true, ниска са размацима '    ' такође враћа true, null враћа true, за вредности true и false такође се враћа true.

То се дешава зато што се ове вредности претварају у бројеве, а не у NaN. Ако вам је потребна заиста прецизна провера да ли је нешто број, која не сматра бројем ниску са размацима, логичке и специјалне вредности - користите следећу функцију isNumeric:

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

Хајде да разумемо како она ради. Функција isFinite претвара параметар у број и враћа true, ако то није Infinity, -Infinity или NaN. Тако да ће десни део одбацити очигледне не-бројеве, али ће оставити вредности попут true, false, null, празну ниску '' и ниску са размацима, јер се оне коректно претварају у бројеве.

Да би се одбациле ове вредности, потребна је функција parseFloat, која ће за true, false, null, '', '   ' вратити NaN. Тако функционише parseFloat: она претвара параметар у ниску, тј. true, false, null постају 'true', 'false', 'null', а затим чита број из ње, при чему празна ниска и ниска са размацима дају NaN. Затим се резултат parseFloat обрађује помоћу !isNaN, да би се добило true или false уместо NaN. Као резултат, одбацује се све, осим ниски-бројева и обичних бројева.

Синтакса

isFinite(вредност);

Пример

Сада ће isFinite исписати true, јер је параметар број:

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

Резултат извршавања кода:

true

Пример

Сада ће isFinite исписати false, јер параметар није број:

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

Резултат извршавања кода:

false

Пример

Сада ће isFinite исписати false, јер је параметар бесконачност:

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

Резултат извршавања кода:

false

Пример

Сада ће isFinite исписати false, јер је 1/0 - то је у суштини Infinity (бесконачност):

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

Резултат извршавања кода:

false

Пример

Сада ће isFinite исписати true, јер је празна ниска, која није број, изузетак:

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

Резултат извршавања кода:

true

Види још

  • функцију isNaN,
    која врши проверу на NaN
  • оператор typeof,
    који одређује тип података
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј